gpt4 book ai didi

java - Anagrams - 我怎样才能通过以下两个测试用例

转载 作者:行者123 更新时间:2023-12-02 08:02:08 28 4
gpt4 key购买 nike

这是我的代码,用于判断两个字符串是否是字谜

static boolean isAnagram(String a, String b) {
if (a.length() != b.length()) return false;
a = a.toLowerCase();
b = b.toLowerCase();
int m1=0;
for(int i=0;i<a.length();i++){
m1 += (int)a.charAt(i);
m1 -= (int)b.charAt(i);

}
return m1==0;
}

我的代码在两个测试用例中失败了

  • 情况 1:String a="xyzw";String b="xyxy";
  • 情况 2:String a="bbcc";String b="dabc";

谁能帮我解决以上两个问题吗?

最佳答案

我认为您的代码不起作用,因为您总结了字符代码,但答案可能为零,但它们不相等,例如:“ad”“bc”
更好的方法是对字符串的字符进行排序,如果它们具有相同的数组长度和相同的顺序,那么两个字符串就是字谜。

static boolean isAnagram(String str1, String str2) {
int[] str1Chars = str1.toLowerCase().chars().sorted().toArray();
int[] str2Chars = str2.toLowerCase().chars().sorted().toArray();
return Arrays.equals(str1Chars, str2Chars);
}

希望这对您有帮助。 (这有点困难,因为我使用流来创建和排序字符数组)

关于java - Anagrams - 我怎样才能通过以下两个测试用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52675864/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com