乱序字符(2)

2017-01-04  本文已影响0人  2a25936eedd9

看了标准答案,说白了这道题的本质就是建立映射。而要使用哈希表来构建这个映射关系。哈希表是现成的,要会使用。最关键的问题是,每给一个字符串就要为它构建一个"密码",而这个密码就是哈希表中的key。这个密码要有这样的性质:1.可以区别不同的数值。2.可以对字符串中字符顺序不敏感。

private int getHash(int[] count) {

int hash = 0;

int a = 378551;

int b = 63689;

for (int num : count) {

hash = hash * a + num;

a = a * b;

}

return hash;

}----<<九章算法的标答>>

num记录一个字母出现的次数。count保存字符串中字母的信息。 

上一篇下一篇

猜你喜欢

热点阅读