数量(easy)"/>
[hash]leetcode1128:等价多米诺骨牌对的数量(easy)
题目:
题解:
利用hashmap做,较小的数字作十位,较大的数字作个位,这样等价的骨牌对可以映射到一个key了,value表示个数。
代码如下:
class Solution {
public:// 题解:利用hashmap做,较小的数字作十位,较大的数字作个位,这样等价的骨牌队,可以映射到一个key了,value表示个数int numEquivDominoPairs(vector<vector<int>>& dominoes) {// hasp预处理unordered_map<int,int> mp;for(const auto& d:dominoes){if(d[0]<d[1])mp[d[0]*10+d[1]]++;else mp[d[1]*10+d[0]]++;}// 计算数量,注意是组合,在k个数中选2个,k*(k-1)/2int res=0;for(const auto& it:mp)res+=(it.second-1)*it.second/2;return res;}
};
更多推荐
[hash]leetcode1128:等价多米诺骨牌对的数量(easy)
发布评论