我想找出两个 Java 字符串是否包含 2 个必须彼此相邻的公共字符。
我正在使用两个 for 循环来检查它,但它看起来很慢,因为我必须一次又一次地计算它。
boolean contain2CommonChars(String s1, String s2) {
for(){
for() {
}
}
}
有没有有效的算法来做到这一点?
其次,我真正想做的是在给定另一个句子x的情况下,从一个大句子集B中找到一个句子子集A。如果 B 中的任何句子与句子 x 至少有两个共同字符,则将其放入集合 A。
Set<String> findSubset(Set<String> B, String x){
Set<String> A = new HashSet<>();
...
return A;
}
顺便说一下,B <10,000 的大小。findSubset() 可以在几毫秒内完成吗?
编辑:第二个问题与第一个问题相关。例子:
B = {"this is a dog", "this is a bat", "that was an dog "}
x = "this is not a cat"
我要回:
A = {"this is a dog", "this is a cat"} // because of "this is" or "is a"
一只萌萌小番薯
幕布斯7119047
郎朗坤
相关分类