C++描述 LeetCode1128. 等价多米诺骨牌对的数量

  大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在CSDN中写博客,唯一博客更新的地址为:亓官劼的博客 ,同时正在尝试在B站中做一些内容分享,B站主页为: 亓官劼的B站主页

本文原创为亓官劼,请大家支持原创,部分平台一直在恶意盗取博主的文章!!!
若需联系博主,可以联系本人微信:qiguanjie2015


给你一个由一些多米诺骨牌组成的列表 dominoes

如果其中某一张多米诺骨牌可以通过旋转 0 度或 180 度得到另一张多米诺骨牌,我们就认为这两张牌是等价的。

形式上,dominoes[i] = [a, b]dominoes[j] = [c, d] 等价的前提是 a==cb==d,或是 a==db==c

0 <= i < j < dominoes.length 的前提下,找出满足 dominoes[i]dominoes[j] 等价的骨牌对 (i, j) 的数量。

示例:

输入:dominoes = [[1,2],[2,1],[3,4],[5,6]]
输出:1

提示:

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

题解思路

使用统一的编码对二元组进行编码,这里采用小的做十位数,大的做个位数的策略,然后使用一个vector进行计数,每次看当前编码已有的个数,使用当前的多米诺骨牌可以和之前的每一对形成新的一对,所以更新ans += num[val];

算法实现

class Solution {public:int numEquivDominoPairs(vector<vector<int>>& dominoes) {int ans = 0;vector<int> num(100);for(int i = 0; i < dominoes.size(); i++){// 按照统一的编码,小的做十位数,大的做个位数int val = dominoes[i][0] > dominoes[i][1] ? dominoes[i][1] * 10 + dominoes[i][0] : dominoes[i][0] * 10 + dominoes[i][1];// 如果已有,则可以和每一个组成一对等价对,更新ansans += num[val];num[val]++;}return ans;}
};

算法效率

C++描述 LeetCode1128. 等价多米诺骨牌对的数量相关推荐

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

    [每日一题] 1128. 等价多米诺骨牌对的数量 避免每日太过咸鱼,一天搞定一道LeetCode算法题 一.题目描述 给你一个由一些多米诺骨牌组成的列表 dominoes. 如果其中某一张多米诺骨牌可 ...

  2. 1128. 等价多米诺骨牌对的数量

    链接:1128. 等价多米诺骨牌对的数量 题解: class Solution {public:int numEquivDominoPairs(vector<vector<int>& ...

  3. 刷爆力扣之等价多米诺骨牌对的数量

    刷爆力扣之等价多米诺骨牌对的数量 HELLO,各位看官大大好,我是阿呆

  4. leetcode 1128. 等价多米诺骨牌对的数量

    给你一个由一些多米诺骨牌组成的列表 dominoes. 如果其中某一张多米诺骨牌可以通过旋转 0 度或 180 度得到另一张多米诺骨牌,我们就认为这两张牌是等价的. 形式上,dominoes[i] = ...

  5. LeetCode 1128. 等价多米诺骨牌对的数量(哈希)

    1. 题目 给你一个由一些多米诺骨牌组成的列表 dominoes. 如果其中某一张多米诺骨牌可以通过旋转 0 度或 180 度得到另一张多米诺骨牌,我们就认为这两张牌是等价的. 形式上,dominoe ...

  6. 等价多米诺骨牌对的数量

    给你一个由一些多米诺骨牌组成的列表 dominoes. 如果其中某一张多米诺骨牌可以通过旋转 0 度或 180 度得到另一张多米诺骨牌,我们就认为这两张牌是等价的. 形式上,dominoes[i] = ...

  7. 每日一题:leetcode1128.等价多米诺骨牌对数

    题目描述 题目分析 看到题目以后第一个想法是遍历数组,对每个元素有一个数据结构中保存了该元素出现的次数,然后往结果中相加(表示该元素和前面的对数),然后再将元素出现的次数加一. 思考用什么数据结构保存 ...

  8. LeetCode 1128.等价多米诺骨牌

    题目 给你一个由一些多米诺骨牌组成的列表 dominoes. 如果其中某一张多米诺骨牌可以通过旋转 0 度或 180 度得到另一张多米诺骨牌,我们就认为这两张牌是等价的. 形式上,dominoes[i ...

  9. POJ 1135 Domino Effect(最短路 多米诺骨牌)

    题意 题目描述:  你知道多米诺骨牌除了用来玩多米诺骨牌游戏外,还有其他用途吗?多米诺骨牌游戏:取一 些多米诺骨牌,竖着排成连续的一行,两张骨牌之间只有很短的空隙.如果排列得很好,当你推 倒第 1张骨 ...

最新文章

  1. 集成模型Xgboost!机器学习最热研究方向入门,附学习路线图
  2. OpenCV-自定义harris检测
  3. 触发死锁怎么办?MySQL 的死锁系列:锁的类型以及加锁原理了解一下!
  4. 快准牌电脑发软件_做自媒体必备技能,视频剪辑软件排名(精品篇)
  5. mysql 数据库 更新_mysql数据库更新
  6. 数人云|7大ChatOps5种团队协作工具助力DevOps实践
  7. java开源论坛 discuz_Discuz开源论坛
  8. 74hc138译码器实验c语言程序,实验二74HC138译码器实验学生
  9. 一键GHOST光盘版官方版
  10. 51ditu、清华地图以及Google地图
  11. qq扫描用户文件传腾讯服务器,QQ被传窃取用户浏览器隐私,腾讯称为判断恶意登录而读取的数据...
  12. forward() takes 2 positional arguments but 3 were given
  13. Go Slice实现原理分析
  14. 统计csv表格中某一元素的个数(count函数)
  15. 巴比特首发 | 银行卡司法冻结应遵循法治程序
  16. 【matlab】把大写字母转换成小写,小写转大写,否则不变
  17. windows server 2008服务器管理器,添加IIS配置(2012同理)
  18. mysql 5.7.15-winx64_mysql 5.7.15 winx64安装配置方法
  19. pip安装三方库不成功的解决方法
  20. Tikz 画图技巧二

热门文章

  1. [2021]Zookeeper getAcl命令未授权访问漏洞概述与解决
  2. proe5.0零件图或装配图中添加注释的方法
  3. 表达式求值优先级判断
  4. 2008年深圳春运火车票29个取票点及1个集中取票点资料
  5. 网络安全行业需要考的证书有哪些?
  6. ViewBag的使用方法
  7. Jackson实现xml转换
  8. WIN7如何设置默认登陆帐户,不输密码,实现自动登陆-转
  9. Gradle 依赖与 Plugin
  10. 微积微发之JS判断当前日期是否大于某个日期