मान लीजिए हमारे पास डोमिनोज़ की एक सूची है। प्रत्येक डोमिनोज़ में दो संख्याएँ होती हैं। दो डोमिनोज़ 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