此题,重在求模函数的运用。
参考点击打开链接
精华在hashSum = 33 * hashSum + key[i];
/**
* @param key: A String you should hash
* @param HASH_SIZE: An integer
* @return an integer
*/
public int hashCode(char[] key,int HASH_SIZE) {
if (key == null || key.length == 0) {
return -1;
}
long sum = 0;
for (int i = 0; i < key.length; i++) {
sum = sum*33 + key[i];
sum = sum%HASH_SIZE;
}
return (int) sum;
}