|
@@ -58,11 +58,13 @@ public class TitleSimilarCheckUtil {
|
|
|
if (titleA.isEmpty() || titleB.isEmpty()) {
|
|
|
return false;
|
|
|
}
|
|
|
- int minLen = Math.min(titleA.size(), titleB.size());
|
|
|
- // since retainAll is an in-place operation, copy it first
|
|
|
- titleA = new HashSet<>(titleA);
|
|
|
- titleA.retainAll(titleB);
|
|
|
- double rate = titleA.size() / (double) minLen;
|
|
|
+ int commonCount = 0;
|
|
|
+ for (Character c : titleA) {
|
|
|
+ if (titleB.contains(c)) {
|
|
|
+ commonCount++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ double rate = commonCount / (double) Math.min(titleA.size(), titleB.size());
|
|
|
return rate >= threshold;
|
|
|
}
|
|
|
|