统计等价的二元对有多少个,把二元对转化为相同的格式,即第一维不大于第二维,由于二元对的元素都不大于9所以,二元对可以转化为一维 即 10 * x + y,这样用一个长度为100的数组即可
class Solution {
public int numEquivDominoPairs(int[][] dominoes) {
int[] counter = new int[100];
int res = 0;
for (int i = 0 ; i < dominoes.length; i++) {
int[] d = dominoes[i];
if (d[0] > d[1]) {
int temp = d[0];
d[0] = d[1];
d[1] = temp;
}
int idx = 10 * d[0] + d[1];
res += counter[idx];
counter[idx]++;
}
return res;
}
}