力扣 LeetCode 1128. 等价多米诺骨牌对的数量

力扣 LeetCode 1128. 等价多米诺骨牌对的数量_第1张图片

把所有数组都排序一遍,令所有的dominoes[i][0]

class Solution {
     
public:
    int numEquivDominoPairs(vector<vector<int>>& dominoes) {
     
        int n=dominoes.size();
        for(int i=0;i<n;i++){
     
            if(dominoes[i][0]>dominoes[i][1]){
     
                swap(dominoes[i][0],dominoes[i][1]);
            }
        }
        int res=0;
        int temp=1;
        sort(dominoes.begin(),dominoes.end());
        for(int i=0;i<n-1;i++){
     
            if(dominoes[i][0]==dominoes[i+1][0]&&dominoes[i][1]==dominoes[i+1][1])
                temp++;
            else{
     
                res+=temp*(temp-1)/2;
                temp=1;
            }
        }
        return res+temp*(temp-1)/2;
    }
};

你可能感兴趣的:(力扣题目,leetcode,c++,数据结构)