码迷,mamicode.com
首页 > 其他好文 > 详细

1128. Number of Equivalent Domino Pairs

时间:2020-06-27 11:49:35      阅读:59      评论:0      收藏:0      [点我收藏+]

标签:mct   val   之间   问题   nop   ash   +=   计数   ons   

问题:

给出数对构成的数组dominoes,若其中一对数对dominoes[i]和另一对数对dominoes[j]包含两个数字相同(忽略顺序),那么称这两对数对等价,

求给定数组dominoes,有多少对(i,j)为等价数对。

Example 1:
Input: dominoes = [[1,2],[2,1],[3,4],[5,6]]
Output: 1
 

Constraints:
1 <= dominoes.length <= 40000
1 <= dominoes[i][j] <= 9

  

解法:

由于限制条件:数对内数字在0~9之间,

因此,我们可以考虑,桶排序

int sumct[100]

将每个数对,使用【较小数*10+较大数】标记,

拥有相同标记的,则为满足条件的等价数对,

计数等价数对,

遍历所有数对,每增加一个等价数对,

所求等价数对的对数+=目前存在的等价数对个数。

res+=sumct[sum];

 

参考代码:

 1 class Solution {
 2 public:
 3     int numEquivDominoPairs(vector<vector<int>>& dominoes) {
 4         int sumct[100]={0};
 5         int res=0;
 6         for(auto dom:dominoes){
 7             int sum=(dom[0]>dom[1])?dom[1]*10+dom[0]:dom[0]*10+dom[1];
 8             res+=sumct[sum];
 9             sumct[sum]++;
10         }
11         return res;
12     }
13 };

 

1128. Number of Equivalent Domino Pairs

标签:mct   val   之间   问题   nop   ash   +=   计数   ons   

原文地址:https://www.cnblogs.com/habibah-chang/p/13197616.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!