gpt4 book ai didi

anagram - 这是最好的字谜检查解决方案吗?

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

我正在寻找一种有效的解决方案来检查两个字符串是否是字谜词,但字符表/字典检查对于 unicode 可能不是一个好的解决方案。我已经提出了一个解决方案,但我不知道如何在数学上证明它是正确的。公式表达为“(a + b) = (c + d) and a XOR b XOR c XOR d = 0 ==> (a,b) and (c,d) are anagrams”。也许你可以帮助我。下面是一个实现。

def isAnagram(s1: String, s2: String): Boolean = {
if (s1.length != s2.length) return false
else {
var numVal = 0
var bitVal = 0
for (i <- 0 until s1.length) {
numVal += s1(i) - s2(i)
bitVal ^= s1(i) ^ s2(i)
}

return numVal == 0 && bitVal == 0
}

最佳答案

icepack 的计数器示例不正确,为 1 ^ 5 ^ 3 ^ 2 ^ 4 ^ 3 = 2,而不是 0

这是一个更好的反例:s1 = (5, 0, 5)s2 = (1, 4, 5)

5 + 0 + 5 = 1 + 4 + 5

5^0^5^1^4^5=0

关于anagram - 这是最好的字谜检查解决方案吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12990792/

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