Number of Pairs of Strings With Concatenation Equal to Target
给一个字符串组和一个target字符串, 问有多少个pair,组成target.
这题字符串组有重复, 所以先要counting一下, 然后切割target, 因为切割后的两个部分有可能相同, 相同的时候是C(n,n-1)个, 不同的时候是n* n-1个.
class Solution {
public int numOfPairs(String[] nums, String target) {
Map<String, Integer> count = new HashMap<>();
for(String s : nums){
count.put(s, count.getOrDefault(s, 0) + 1);
}
int res = 0;
for(int i = 1; i < target.length(); i++) {
String a = target.substring(0, i);
String b = target.substring(i, target.length());
if(count.containsKey(a) && count.containsKey(b)){
if(a.equals(b)){
int n = count.get(a);
res += n * (n - 1);
}else
{
res += count.get(a) * count.get(b);
}
}
}
return res;
}
}