java - 从两个数量为 N 或更多的重叠字符串创建一个字符串?

标签 java string

假设我有两个字符串,

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/

相关文章:

java - JAXB 条件绑定(bind)

string - Perl比较运算符和字符串化 "numbers"

python - "sample larger than population"in random.sample python

java - 如何使变量的范围全局(而不使其实际上全局)

java - 字符串常量池的生命周期

java - 将文件列表保存为 .txt

java - 导入库 Oshi

java - System.currentTimeMillis 的长度

r - 在 R 中解析文本文件并提取信息

java - 当我将 Jdk 1.6 更新到 Jdk 1.8 时,出现以下错误 : The type java. lang.CharSequence 无法解析