gpt4 book ai didi

java - 获取字符串数组项的相似部分

转载 作者:行者123 更新时间:2023-12-01 04:48:25 25 4
gpt4 key购买 nike

我有一个字符串数组:

qTrees[0] = "023012311312201123123130110332";
qTrees[1] = "023012311130023103123130110332";
qTrees[2] = "023013200020123103123130110333";
qTrees[3] = "023013200202301123123130110333";

使用这个循环,我尝试从它们中检索相似的部分:

String similarPart = "";
for (int i = 0; i < qTrees[0].length(); i++){
if (qTrees[0].charAt(i) == qTrees[1].charAt(i) &&
qTrees[1].charAt(i) == qTrees[2].charAt(i) &&
qTrees[2].charAt(i) == qTrees[3].charAt(i) ){

similarPart += qTrees[0].charAt(i);
} else {
break;
}
}

但这是错误的。正如您所看到的,它只会返回“02301”,但更深层次的相似性是可能的。

请给我建议一个更好的方法。谢谢。

最佳答案

您需要更好地定义您想要实现的目标。你想要吗:

  • 找到数组中任意两个条目之间最长的公共(public)起始序列;
  • 找到数组中所有条目的最长公共(public)起始序列;
  • 找到任意两个条目之间的最长公共(public)序列(即相同位置的相同字符);
  • 找到数组中所有条目的最长公共(public)序列。

所有这些都会提供略有不同的方法,但都将归结为在循环中正确使用 breakcontinue

关于java - 获取字符串数组项的相似部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15427084/

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