class Solution {
public int numEquivDominoPairs(int[][] dominoes) {
int[][] nums = new int[10][10];//用数组来记录牌值不同的个数,因为可以交叉相等,但又不想重复计算,所以记录值是可以从小到大记录,这样顺序不同也会算成一组了
int n = dominoes.length;
for(int i = 0; i < n; i++){
if(dominoes[i][0]>dominoes[i][1]){
nums[dominoes[i][1]][dominoes[i][0]]++;
}else{
nums[dominoes[i][0]][dominoes[i][1]]++;
}
}
int ans = 0;
for(int i = 1; i <= 9; i++){
for(int j = 1; j <= 9; j++){
if(nums[i][j]>1)
ans+=((nums[i][j]-1)+1)*(nums[i][j]-1)/2;
}
}
return ans;
}
}
等价多米诺骨牌对的数量
最新推荐文章于 2025-05-08 21:44:07 发布