解题思路
二元组表示
代码
class Solution {
private static int f(int x) {
int res = 0;
for(int i= 1;i<=x-1;i++)res+=i;
return res;
}
public int numEquivDominoPairs(int[][] dominoes) {
Map<Integer, Integer> m = new HashMap<>();
int res = 0;
for (int[] dom : dominoes) {
int val1 = dom[0] * 10 + dom[1];
int val2 = dom[0] + dom[1] * 10;
int val = Math.min(val1, val2);
if (m.containsKey(val)) {
m.put(val, m.get(val) + 1);
} else {
m.put(val, 1);
}
}
for (Integer i : m.keySet()) {
res += f(m.get(i));
}
return res;
}
}