当前位置:网站首页>哈希表 AcWing 840. 模拟散列表
哈希表 AcWing 840. 模拟散列表
2022-07-02 09:43:00 【T_Y_F666】
哈希表 AcWing 840. 模拟散列表
原题链接
算法标签
哈希表
思路

拉链法

开放寻址法
代码
#include<bits/stdc++.h>
#define int long long
#define rep(i, a, b) for(int i=a;i<b;++i)
#define Rep(i, a, b) for(int i=a;i>b;--i)
using namespace std;
const int N = 100003;
int a[N], e[N], h[N], ne[N], idx;
int s;
inline int read(){
int s=0,w=1;
char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
return s*w;
}
void put(int x) {
if(x<0) putchar('-'),x=-x;
if(x>=10) put(x/10);
putchar(x%10^48);
}
// 采用头插法 将数据插入对应hash值为k的hash表中
void insert(int x){
//保证负数也可以映射到hash表中 所模数字为质数 可以尽量减少冲突
int k=(x%N+N)%N;
e[idx]=x;
ne[idx]=h[k];
h[k]=idx++;
}
bool find(int x){
int k=(x%N+N)%N;
for(int i=h[k]; i!=-1; i=ne[i]){
if(e[i]==x){
return true;
}
}
return false;
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
memset(h, -1, sizeof h);
int n=read();
while(n--){
char op[2];
scanf("%s", op);
int x=read();
if(op[0]=='I'){
insert(x);
}else{
if(find(x)){
puts("Yes");
}else{
puts("No");
}
}
}
return 0;
}
原创不易
转载请标明出处
如果对你有所帮助 别忘啦点赞支持哈
边栏推荐
- Post request body content cannot be retrieved repeatedly
- How to write a pleasing English mathematical paper
- [C language] Yang Hui triangle, customize the number of lines of the triangle
- AI mid stage technology research
- Find the factorial of a positive integer within 16, that is, the class of n (0= < n < =16). Enter 1111 to exit.
- Lekao.com: experience sharing of junior economists and previous candidates in customs clearance
- Brush questions --- binary tree --2
- CDA data analysis -- Introduction and use of aarrr growth model
- 模块化 CommonJS ES Module
- MySQL indexes and transactions
猜你喜欢

JSON序列化 与 解析

BOM DOM

深拷貝 事件總線

China traffic sign detection data set

Sparkcontext: error initializing sparkcontext solution

Programmers can't find jobs after the age of 35? After reading this article, you may be able to find the answer
![1380. Lucky numbers in the matrix [two-dimensional array, matrix]](/img/8c/c050af5672268bc7e0df3250f7ff1d.jpg)
1380. Lucky numbers in the matrix [two-dimensional array, matrix]

趣味 面试题

Map和Set

PR 2021 quick start tutorial, learn about the and functions of the timeline panel
随机推荐
Go learning notes - multithreading
浏览器存储方案
Jenkins voucher management
async/await 异步函数
MySQL与PostgreSQL抓取慢sql的方法
AAAI 2022 | Peking University & Ali Dharma Institute: pruning and compression of pre training language model based on comparative learning
Lekao: 22 year first-class fire engineer "technical practice" knowledge points
Anxiety of a 211 programmer: working for 3 years with a monthly salary of less than 30000, worried about being replaced by fresh students
What is the relationship between NFT and metauniverse? How to view the market? The future market trend of NFT
深拷贝 事件总线
Go学习笔记—基于Go的进程间通信
(C language) input a line of characters and count the number of English letters, spaces, numbers and other characters.
线性DP AcWing 902. 最短编辑距离
BOM DOM
Map和Set
Performance tuning project case
kubenetes中port、targetPort、nodePort、containerPort的区别与联系
Post request body content cannot be retrieved repeatedly
CDA data analysis -- common knowledge points induction of Excel data processing
drools中then部分的写法