其他分享
首页 > 其他分享> > LeetCode 每日一题 1128. 等价多米诺骨牌对的数量

LeetCode 每日一题 1128. 等价多米诺骨牌对的数量

作者:互联网

分析

用一个map存贮相同的多米诺牌的数量,之后用排列组合公式求和即可。

C++ 代码

class Solution {
public:
    map<vector<int>,int> mp;
    int ans;
    int numEquivDominoPairs(vector<vector<int>>& dominoes) {
        if(dominoes.size()<1) return 0;
        for(auto pir:dominoes)
        {
            if(pir[0]>pir[1])
            {
                swap(pir[0],pir[1]);
            }
            mp[pir]++;
        }
        map<vector<int>,int>::iterator it=mp.begin();   //迭代器遍历整个mp
        while(it!=mp.end())
        {
            int p=it->second;
            ans+=(p*(p-1))>>1;
            it++;
        }
        return ans;
    }
};

标签:1128,map,多米诺骨牌,int,++,mp,ans,pir,LeetCode
来源: https://blog.csdn.net/Jay_fearless/article/details/113176329