115. 变位词分组

RT

1赞

getKeyByCount 这个方法的改良不太清楚。改用 int 类型数组计录 key值,只是出于字节数大一些的考虑?

@archy.shawn

是的。

如果单词的概念可以是无意义的字符串,那么字符串里某个字母出现次数就有可能超过一个 char 所能存储的范围(C 语言里是一个字节,Java 里是两个字节)。超出范围溢出后,就会从 char 的最小值又开始累计起来。因此不同的字符串有可能计算出相同的 key。

使用 int 只是让这个范围变得更大。一个字节或两个字节可以表示的大小还是太小,一个是 256,一个是 65536。但一个 int 可以表示的数量是 42 亿。这点区别还是非常明显的。

1赞