1078. Hashing (25)
来源:互联网 发布:淘宝客服链接 编辑:程序博客网 时间:2024/06/15 23:59
原来哈希表还有二次探测的过程。。。
涨姿势涨姿势……
本来觉得自己程序对的不得了,结果最后一个点总是错
果然我还是太年轻了
AC代码
#include <bits/stdc++.h>using namespace std;int main(void){ int jt, n; cin >> jt >> n; int i; bool isbreak; while (1) { isbreak = true; if (jt == 1) isbreak = false;//第二个测试点:1不是素数 for (i = 2; i <= sqrt(jt); i++) { if (jt % i == 0) isbreak = false; } if (isbreak) break; else jt++; } vector <int> arr(n); vector <bool> test(jt); for (i = 0; i < n; i++) { cin >> arr[i]; int temp = arr[i] % jt; if (!test[temp]) { test[temp] = true; arr[i] %= jt; } else//第四个测试点:二次探查。没系统学过哈希表,网上看别人代码才知道还有这个过程。。。。。 { bool re = false; for (int j = 0; j < jt; j++) { int tmp = (temp + j * j) % jt; if (!test[tmp]) { test[tmp] = true; arr[i] = tmp; re = true; break; } } if (!re) arr[i] = -1; } } for (i = 0; i < n - 1; i++) { if (arr[i] != -1 )printf("%d ", arr[i]); else printf("- "); } if (arr[i] != -1 ) printf("%d", arr[i]); else printf("-");}
阅读全文
0 0
- 1078. Hashing (25)
- PAT 1078. Hashing (25)
- pat 1078. Hashing (25)
- PAT 1078. Hashing (25)
- PAT 1078. Hashing (25)
- 1078. Hashing (25)
- 1078. Hashing (25)
- 1078. Hashing (25)
- 1078. Hashing (25)
- 1078. Hashing (25)
- PAT 1078. Hashing (25)
- PAT 1078. Hashing (25)
- 1078. Hashing (25)
- PAT 1078. Hashing (25)
- 1078. Hashing (25)
- 【PAT】1078. Hashing (25)
- 1078. Hashing (25)
- 1078. Hashing (25)
- C++中的static深度剖析
- K-近邻算法—简述基本原理与实战
- Oracle 数据类型之 Number
- vlan vtp配置
- Mondriaan's Dream POJ
- 1078. Hashing (25)
- 运维基础2
- HDU
- Redis学习07——存储有序字符串集合(sorted set)
- 数据库连接池
- 工作心路历程系列2:离职大公司入职创业公司心路历程
- NodeJs随手记
- 64. Minimum Path Sum(Java)
- [AGC005D]~K Perm Counting-二分图-动态规划