[算法设计]hash 2020-02-27 算法 0 评论 字数统计: 223(字) 阅读时长: 1(分) hash 基本问题 123456789101112131415161718192021#include <cstdio>#define MAXSIZE 1000void HashInt(int a[], int b[]) { bool c[MAXSIZE] = { false }; int m, n; printf("a,b数组元素的个数:"); scanf("%d%d", &m, &n); for (int i = 0; i < m; ++i) { int tmp; scanf("%d", &tmp); a[i] = tmp; c[tmp] = true; }//空间换取时间 for (int j = 0; j < n; ++j) { int tmp; scanf("%d", &tmp); b[j] = tmp; if (c[tmp]) printf("%d在a中存在",tmp); }} 字符串hash 大写字符hash核心代码: 123for(int i=0; i<len(s): ++i){ id = id*26 + (s[i]- 'A')} 大小写字母均hash 1234567for(int i=0; i<len(s): ++i){if(s[i]>'A' && s[i]<'Z') id = id*26 + (s[i]- 'A')else(s[i]>'a' && s[i]<'z') id = id*52 + (s[i]-'a') + 26}