「每日LeetCode」2021年2月22日
本文最后更新于:2023年3月19日 晚上
Lt1128. 等价多米诺骨牌对的数量
1128. 等价多米诺骨牌对的数量
你一个由一些多米诺骨牌组成的列表 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)
的数量。
示例:
1 |
|
提示:
1 <= dominoes.length <= 40000
1 <= dominoes[i][j] <= 9
思路
暴力
暴力双重循环可以很容易得到答案。
改进
遍历,将等价多米诺牌进行计数,若不存在,则在哈希表中开始记录,若存在,说明当前牌可以和这个等价牌堆里的所有牌组成一个新对子,若当前牌堆有 n 个,组成的新对子数量新增 n 个。
解答
暴力
1 |
|
改进
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!