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

पायथन में 1 के योग वाले अंश जोड़े की संख्या गिनने का कार्यक्रम

मान लीजिए कि हमारे पास भिन्नों की एक सूची है जहां प्रत्येक भिन्न अलग-अलग सूचियां हैं [अंश, हर] जो संख्या (अंश / हर) का प्रतिनिधित्व करता है। हमें भिन्नों के युग्मों की संख्या ज्ञात करनी है जिनका योग 1 है।

इसलिए, यदि इनपुट भिन्नों की तरह है =[[2, 7], [3, 12], [4, 14], [5, 7], [3, 4], [1, 4]], तो आउटपुट 4 होगा, जैसा कि (2/7 + 5/7), (3/12 + 3/4), (3/4 + 1/4), (4/14 + 5/7) चार जोड़े हैं जिनका योग है से 1.

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे:

  • d :=एक नया नक्शा
  • उत्तर:=0
  • प्रत्येक भिन्न के लिए i भिन्नों में, करें
    • x :=मैं[अंश]
    • y :=i[denominator]
    • g :=gcd of (x, y)
    • x :=x / g
    • y :=y / g
    • temp_x :=y - x
    • temp_y :=y
    • अगर (temp_x, temp_y) d में है, तो
      • उत्तर:=उत्तर + डी[temp_x, temp_y]
    • d[x, y] :=1 + (d[(x, y)] जब यह उपलब्ध हो, अन्यथा 0)
  • वापसी उत्तर

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

उदाहरण कोड

class Solution:
   def solve(self, fractions):
   import math

   d = {}
   ans = 0
   for i in fractions:
      x = i[0]
      y = i[1]
      g = math.gcd(x, y)
      x /= g
      y /= g
      temp_x = y - x
      temp_y = y
      if (temp_x, temp_y) in d:
         ans += d[(temp_x, temp_y)]
         d[(x, y)] = d.get((x, y), 0) + 1
      return ans

ob = Solution()
fractions = [[2, 7],[3, 12],[4, 14],[5, 7],[3, 4],[1, 4]]
print(ob.solve(fractions))

इनपुट

[[2, 7],[3, 12],[4, 14],[5, 7],[3, 4],[1, 4]]

आउटपुट

4

  1. पायथन में n नोड्स के साथ BST की संख्या गिनने का कार्यक्रम

    मान लीजिए कि हमारे पास अलग-अलग नोड हैं। सभी अलग हैं। हमें यह पता लगाना है कि हम उन्हें कितने तरीकों से व्यवस्थित कर सकते हैं ताकि हम बाइनरी सर्च ट्री बना सकें। जैसा कि हम बाइनरी सर्च ट्री के बारे में जानते हैं, लेफ्ट सबट्री में हमेशा छोटे मान होते हैं और राइट सबट्री में बड़े मान होते हैं। इसे हल कर

  1. पथों की संख्या गिनने का कार्यक्रम जिसका योग अजगर में k है

    मान लीजिए कि हमारे पास एक बाइनरी ट्री है और दूसरा मान k है, तो हमें उप-चाइल्ड पथों के लिए अद्वितीय नोड की संख्या ज्ञात करनी होगी, जो k के बराबर है। तो, अगर इनपुट पसंद है और k =5, तो आउटपुट 2 होगा, क्योंकि पथ [2, 3] और [1, 4] हैं। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - गिनती :=एक मानच

  1. संख्याओं की सूची से मान्य जोड़े की संख्या गिनने का कार्यक्रम, जहां पायथन में जोड़ी योग विषम है

    मान लीजिए कि हमारे पास धनात्मक संख्याओं की एक सूची है, हमें सूचकांकों (i, j) के मान्य जोड़े की संख्या ज्ञात करनी है, जहाँ i