給你一個由一些多米諾骨牌組成的列表 dominoes。
如果其中某一張多米諾骨牌可以通過旋轉 0 度或 180 度得到另一張多米諾骨牌,我們就認為這兩張牌是等價的。
形式上,dominoes[i] = [a, b] 和 dominoes[j] = [c, d] 等價的前提是 a == c 且 b == d,或是 a == d 且 b == c。
在 0 <= i < j < dominoes.length 的前提下,找出滿足 dominoes[i] 和 dominoes[j] 等價的骨牌對 (i, j) 的數量。
示例:
輸入:dominoes = [[1,2],[2,1],[3,4],[5,6]]
輸出:1
class Solution {
public:int numEquivDominoPairs(vector<vector<int>>& dominoes) {int n=dominoes.size();vector<int> b(100);int count=0;int temp;for(int i=0;i<n;i++){temp=dominoes[i][0]<dominoes[i][1]?dominoes[i][0]*10+dominoes[i][1]:dominoes[i][1]*10+dominoes[i][0];b[temp]++;if(b[temp]>1) count+=(b[temp]-1)*b[temp]/2-(b[temp]-2)*(b[temp]-1)/2;}return count;}
};
多米諾骨牌的玩法技巧、復雜度分析:
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态