当前位置:网站首页>哈希表 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;
}
原创不易
转载请标明出处
如果对你有所帮助 别忘啦点赞支持哈
边栏推荐
- In development, why do you find someone who is paid more than you but doesn't write any code?
- Day12 control flow if switch while do While guessing numbers game
- [ybtoj advanced training guidance] cross the river [BFS]
- Brush questions --- binary tree --2
- Does C language srand need to reseed? Should srand be placed in the loop? Pseudo random function Rand
- LeetCode—剑指 Offer 51. 数组中的逆序对
- BOM DOM
- [FFH] little bear driver calling process (take calling LED light driver as an example)
- CPU指令集介绍
- China traffic sign detection data set
猜你喜欢

线性DP AcWing 895. 最长上升子序列

Experiment of connecting mobile phone hotspot based on Arduino and esp8266 (successful)

PR 2021 quick start tutorial, learn about the and functions of the timeline panel

Record the range of data that MySQL update will lock

Anti shake throttle

Map and set

"As a junior college student, I found out how difficult it is to counter attack after graduation."

AI mid stage technology research

线性DP AcWing 898. 数字三角形

分布式机器学习框架与高维实时推荐系统
随机推荐
Simple use of drools decision table
drools执行String规则或执行某个规则文件
Use sqoop to export ads layer data to MySQL
FBX import under ue4/ue5 runtime
ThreadLocal的简单理解
CDA数据分析——AARRR增长模型的介绍、使用
Shutter encapsulated button
分布式机器学习框架与高维实时推荐系统
Find the factorial of a positive integer within 16, that is, the class of n (0= < n < =16). Enter 1111 to exit.
[I'm a mound pytorch tutorial] learning notes
drools执行完某个规则后终止别的规则执行
Leetcode14 longest public prefix
CDH存在隐患 : 该角色的进程使用的交换内存为xx兆字节。警告阈值:200字节
This "little routine" is set on the dough cake of instant noodles. No wonder programmers are always hungry
浏览器存储方案
[C language] convert decimal numbers to binary numbers
寻找二叉树中任意两个数的公共祖先
Maximum profit of jz63 shares
Performance tuning project case
SparkContext: Error initializing SparkContext解决方法