Number of Equivalent Domino Pairs
找到有多少对pair, (i, j) == (a,b) where i ==a && j == b or i == b && j == a. 就是做个hash就可以, 两个数都是十以内的, 所以可以先sort一下, 然后变成string. 然后就找到多少个相同的元素. 然后求组合.
class Solution {
public int numEquivDominoPairs(int[][] dominoes) {
Map<String, Integer> m = new HashMap<String, Integer>();
for(int[] d : dominoes) {
m.put(hash(d), m.getOrDefault(hash(d),0) + 1);
}
int count = 0;
for(int v : m.values()) {
count += (v * (v -1)) / 2;
}
return count;
}
private String hash(int[] d) {
Arrays.sort(d);
return Arrays.toString(d);
}
}