สมมติว่าเรามีรายการโดมิโน โดมิโนแต่ละตัวมีตัวเลขสองตัว โดมิโนสองตัว D[i] =[a, b] และ D[j] =[c, d] จะเหมือนกันถ้า a =c และ b =d หรือ a =d และ b =c ดังนั้นหนึ่งโดมิโนสามารถย้อนกลับได้ เราต้องส่งคืนจำนวนคู่ (i, j) ซึ่ง 0 <=i
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
ตัวอย่าง
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