zoukankan      html  css  js  c++  java
  • 1128. Number of Equivalent Domino Pairs

    Given a list of dominoesdominoes[i] = [a, b] is equivalent to dominoes[j] = [c, d] if and only if either (a==c and b==d), or (a==d and b==c) - that is, one domino can be rotated to be equal to another domino.

    Return the number of pairs (i, j) for which 0 <= i < j < dominoes.length, and dominoes[i] is equivalent to dominoes[j].

    Constraints:

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

    因为数字范围是1-9,所以两位我打算把他们两两排序然后x*10+y拼成两位数,然后用一个计数数组存出现的次数

    class Solution(object):
        def numEquivDominoPairs(self, dominoes):
            """
            :type dominoes: List[List[int]]
            :rtype: int
            """
            d = [0] * 100
            ans = 0
            for dominoe in dominoes:
                x = min(dominoe[0], dominoe[1])
                y = max(dominoe[0], dominoe[1])
                ans += d[x * 10 + y]
                d[x * 10 + y] += 1
            return ans
                
            
  • 相关阅读:
    数组元素的查找1
    排序——选择排序
    排序——冒泡排序
    内部类——匿名内部类
    跳一跳
    数组元素换位置游戏
    六 java和Tomcat
    九 Jenkins持续集成
    八 ip和子网详解
    七 Git版本控制
  • 原文地址:https://www.cnblogs.com/whatyouthink/p/13296630.html
Copyright © 2011-2022 走看看