Giả sử chúng ta có một danh sách các dominos. Mỗi quân domino có hai số. Hai dominos D [i] =[a, b] và D [j] =[c, d] sẽ giống nhau nếu a =c và b =d, hoặc a =d và b =c. Vì vậy, một domino có thể được đảo ngược. Chúng ta phải trả về số cặp (i, j) mà 0 <=i
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
Ví dụ
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]]))
Đầu vào
[[1,2],[2,1],[3,4],[5,6],[4,3]]
Đầu ra
2