gpt4 book ai didi

java - 检查一个字符串是否匹配除另一个字符串之外的所有字符

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:52:20 25 4
gpt4 key购买 nike

我有一个字符串列表,对于每个字符串,我想对照每个其他字符串检查它的字符,看看它的所有字符是否都相同,只有一个除外。

例如,将返回 true 的检查将是检查

锁住岩石

时钟和羊群有一个不同的特征,不多也不少。

岩石撞击凹痕显然会返回 false。

我一直在考虑首先循环遍历列表,然后在该列表中进行二次循环以检查第一个字符串与第二个字符串。

然后使用 split(""); 创建两个包含每个字符串字符的数组,然后相互检查数组元素(即将每个字符串与另一个字符串中的相同位置进行比较) array 1-1 2-2 etc...),只要只有一个字符比较失败,那么对这两个字符串的检查就为真。

无论如何,我有很多字符串 (4029) 并且考虑到我目前正在考虑实现的内容将包含 3 个循环,每个循环都包含在另一个循环中,这将导致三次循环(?),这将花费很长时间这么多元素不是吗?

有没有更简单的方法来做到这一点?或者这种方法真的有效吗?或者 - 希望不会 - 但我提出的解决方案是否存在某种潜在的逻辑缺陷?

非常感谢!

最佳答案

为什么不用天真的方法呢?

bool matchesAlmost(String str1, String str2) {
if (str1.length != str2.length)
return false;
int same = 0;
for (int i = 0; i < str1.length; ++i) {
if (str1.charAt(i) == str2.charAt(i))
same++;
}
return same == str1.length - 1;
}

现在您可以使用二次算法来检查每个字符串。

关于java - 检查一个字符串是否匹配除另一个字符串之外的所有字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12883618/

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