假设我有两个字符串,
str1 = "abcdefg"
str2 = "cdefghijkl"
如果用户指定了整数,则假设 n = 4。
如何确定两个字符串是否重叠 4 个或更多字符? 在本例中,它们将“cdefg”重叠 5 个以形成“abcdefghijkl”
如果 n = 6 那么它们不会重叠,因为 "bcdefg"!= "cdefgh"
我遇到的问题是重叠是否比用户指定的多。
最佳答案
The issue I am having is if there is more overlap than user specified.
这就是循环的用武之地:从用户重叠定义的位置开始,并不断增加它,直到 (1) 检测到重叠或 (2) 用完其中一个字符串中的字符。
伪代码如下所示:
int userOverlap = ... // Get user overlap
int minLength = Math.min(stringOne.length(), stringTwo.length());
for (int overlap = userOverlap ; overlap <= minLength; overlap++) {
if (testOverlap(stringOne, stringTwo, overlap)) {
return true;
}
}
return false;
private static bool testOverlap(String a, String b, int overlap) {
... // This is your method that tests for one specific overlap
}
关于java - 从两个数量为 N 或更多的重叠字符串创建一个字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35562530/