Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में समतुल्य डोमिनो जोड़े की संख्या


मान लीजिए हमारे पास डोमिनोज की एक सूची है। प्रत्येक डोमिनो में दो नंबर होते हैं। दो डोमिनोज D[i] = [a, b] और D[j] = [c, d] समान होंगे यदि a = c और b = d, या a = d और b = c। इसलिए एक डोमिनो को उल्टा किया जा सकता है। हमें उन जोड़ों (i, j) की संख्या लौटानी है जिनके लिए 0 <= i < j < डोमिनोज की लंबाई, और D[i], D[j] के समतुल्य है। इसलिए यदि डोमिनो सूची [[1, 2], [2, 1], [3, 4], [6, 5]] की तरह है। आउटपुट 1 होगा।

समाधान के चरण

  • answer = 0 मान लें
  • डोमिनोज सूची में प्रत्येक जोड़ी p के लिए
    • जोड़ी p को सॉर्ट करें
    • फिर प्रत्येक डोमिनो की फ्रीक्वेंसी D में स्टोर करें
  • D में values के लिए प्रत्येक b
    • answer := answer + (b * (b - 1))/2
  • answer लौटाएं

उदाहरण

बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:

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

  1. - पायथन में एकल संख्या

    मान लीजिए हमारे पास एक सरणी A है। इस सरणी में कई संख्याएं हैं जो दो बार होती हैं। केवल एक तत्व एक बार पाया जा सकता है। हमें उस तत्व को उस सरणी से ढूंढना है। मान लीजिए A = [1, 1, 5, 3, 2, 5, 2], तो आउटपुट 3 होगा। चूंकि प्रत्येक संख्या दो बार है, हम उस तत्व को कैंसिल करने के लिए XOR कर सकते हैं। क्यो

  1. - पायथन में पालिंड्रोम संख्या

    मान लीजिए हमारे पास एक पूर्णांक है। हमें जांचना है कि पूर्णांक पालिंड्रोम है या नहीं। यदि पूर्णांक आगे या पीछे दोनों क्रम में समान है, तो संख्या पालिंड्रोम है। उदाहरण के लिए, मान लीजिए संख्या 454 है, यदि हम इसे उल्टा करते हैं तो यह फिर से 454 होगी। तो यह पालिंड्रोम है। अब यदि संख्या -565 है, तो उल्

  1. - Python में factorial()

    किसी संख्या का फैक्टोरियल ढूंढना डेटा विश्लेषण और Python में शामिल अन्य गणितीय विश्लेषण में एक बार-बार आने वाली आवश्यकता है। फैक्टोरियल हमेशा एक पॉजिटिव इंटीजर के लिए 1 से दी गई संख्या तक के सभी पूर्णांकों को गुणा करके पाया जाता है। इसके लिए तीन दृष्टिकोण हो सकते हैं जैसा कि नीचे दिखाया गया है।For L