乱序字符(2)

看了标准答案,说白了这道题的本质就是建立映射。而要使用哈希表来构建这个映射关系。哈希表是现成的,要会使用。最关键的问题是,每给一个字符串就要为它构建一个"密码",而这个密码就是哈希表中的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保存字符串中字母的信息。 

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容