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. 人工神经网络在行人轨迹预测上的应用
  2. java 怎么中断一个线程
  3. 几个常用的Linux监控脚本
  4. inner join和left join还有right join的区别
  5. 代码夹带是洪水猛兽吗?
  6. spring aop记录日志方案设计
  7. CSS美化滚动条的方法
  8. Shell 标准输入、输出和错误
  9. jvisualvm工具使用
  10. java 性能测试文档模板_最好用的数据库文档生成工具
  11. Thinkpad连续响4遍4个短嘀故障记录
  12. 淘宝直通车补单方法技巧 短期打造爆款
  13. 时隔两年之后,证监会官网再次更新瑞丰银行的IPO进度。
  14. VRF抽签与投票的思考
  15. mysql backup 使用_MySQLBackup 使用说明
  16. 流处理系统(Flink, Kafka和Pravega)学习笔记
  17. 知云文献翻译打不开_神器推荐丨知云文献翻译软件 WIN/MAC/IOS/ANDROID/网页版
  18. 下载并安装 Metricbeat
  19. 闲扯测试工程师之发展(觉得不错,拿来与大家分享)
  20. matlab用RNN预测股票,使用RNN预测股票价格系列一

热门文章

  1. 情感分析 | 一份就职宣誓也许就可以预测一个国家未来几年的政治形势
  2. C语言 输出3X3的转置矩阵
  3. html边框炫酷效果,6种炫酷的CSS3按钮边框动画特效_html/css_WEB-ITnose
  4. Charles手机抓包工具使用实践
  5. Wordpress在首页列表插入广告位
  6. flicker(画面闪烁)现象产生的原因
  7. web服务器和框架之间的协议
  8. node,npm版本匹配
  9. 环保新建材,幕墙新科技 智能光电LED玻璃屏颠覆传统广告市场
  10. java guns框架_GUNS后台管理框架部署与发布