Number Of Equivalent Domino Pairs

题目描述

等价多米诺骨牌对的数量:

给定由一些多米诺骨牌组成的列表dominoes。如果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

解法

解法一: 数组

  • 时间复杂度: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?