|  | @@ -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;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 |