考虑这个寻找字谜的例子
aabc
abca
它们都是字谜,我正在寻找一种方法,以便它们由字符生成的哈希是相同且唯一的。
唯一性很重要,因此没有两个不同的字符串aabc
和xyaq
生成相同的哈希值
我不知道这个,但是在这里呕吐以了解我需要查找的内容
答案 0 :(得分:1)
对字符串中的字符进行排序,并将其用作哈希值。字符串将具有相同的哈希值当且仅当它们是彼此的字谜时:
String anagramHash(String str) {
char[] chars = str.toCharArray();
Arrays.sort(chars);
return new String(chars);
}
如果您的代码点不在BMP(http://docs.oracle.com/javase/7/docs/api/java/lang/Character.html)上,这可能不会起作用。
或者,生成直方图并将其用作哈希值。