Number Of Equivalent Domino Pairs
题目描述
等价多米诺骨牌对的数量:
给定由一些多米诺骨牌组成的列表dominoes
。如果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
解法
解法一: 数组
时间复杂度:
O(n)
空间复杂度:
O(1)
func numEquivDominoPairs(dominoes [][]int) int {
edges := [10][10]int{}
ans := 0
for _, v := range dominoes {
x, y := v[0], v[1]
if x > y {
x, y = y, x
}
ans += edges[x][y]
edges[x][y]++
}
return ans
}
Last updated
Was this helpful?