Python中的等效Domino对数量

假设我们有一个多米诺骨牌列表。每个多米诺骨牌都有两个数字。如果a = c和b = d,或者a = d和b = c,则两个多米诺骨牌D [i] = [a,b]和D [j] = [c,d]相同。因此,一个多米诺骨牌可以逆转。我们必须返回对(i,j)的对数(i,j),其中0 <= i <j <Domino的长度,并确定D [i]等于D [j]。因此,如果多米诺骨牌列表类似于[[1、2],[2、1],[3、4],[6、5]。输出将为1


示例

让我们看下面的实现以更好地理解-

class Solution(object):
   def numEquivDominoPairs(self, dominoes):
      d = {}
      ans = 0
      for i in dominoes:
         i.sort()
         i = tuple(i)
         if i not in d:
            d[i]= 1
         else:
            d[i]+=1
      for b in d.values():
         ans += ((b*(b-1))//2)
      return ans
ob1 = Solution()print(ob1.numEquivDominoPairs([[1,2],[2,1],[3,4],[5,6], [4,3]]))

输入值

[[1,2],[2,1],[3,4],[5,6],[4,3]]

输出结果

2