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

जोड़े की संख्या (i, j) को खोजने के लिए प्रोग्राम जैसे कि ith और jth तत्व पायथन में समान हैं

मान लीजिए कि हमारे पास एक सरणी संख्या है। हमें युग्मों की संख्या ज्ञात करनी है (i,j) क्या ऐसे हैं कि nums[i] =nums[j] लेकिन i j के समान नहीं है।

इसलिए, यदि इनपुट संख्या =[1,3,1,3,5] की तरह है, तो आउटपुट 4 होगा, क्योंकि जोड़े (0,2), (2,0), (1,3) और हैं। (3,1)

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

  • d :=एक नया नक्शा
  • प्रत्येक c के लिए अंकों में, करें
    • d[c] :=(d[c] + 1) जब c d में मौजूद हो अन्यथा 1
  • res :=0
  • प्रत्येक c के लिए तत्वों की सूची में है (x में सभी x के लिए d जहां d[x]> 1), do
    • res :=res +(d[c] *(d[c]-1))
  • रिटर्न रेस

उदाहरण

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

def solve(nums):
   d = {}
   for c in nums:
      d[c] = d[c] + 1 if c in d.keys() else 1

   res = 0
   for c in (x for x in d if d[x] > 1):
      res += (d[c] * (d[c]-1))

   return res

nums = [1,3,1,3,5]
print(solve(nums))

इनपुट

[1,3,1,3,5]

आउटपुट

4

  1. एक उपन्यास खोजने के लिए कार्यक्रम जहां पहले और अंतिम मान पायथन में समान हैं

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

  1. दिए गए योग के साथ जोड़े खोजें जैसे कि जोड़ी तत्व पायथन में अलग-अलग बीएसटी में हों

    मान लीजिए कि हमारे पास दो दिए गए बाइनरी सर्च ट्री हैं और दूसरा योग दिया गया है; हमें दिए गए योग के संबंध में जोड़े खोजने होंगे ताकि प्रत्येक जोड़ी तत्व अलग-अलग बीएसटी में हों। तो, अगर इनपुट योग =12 जैसा है तो आउटपुट [(6, 6), (7, 5), (9, 3)] . होगा इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  1. दिए गए योग के साथ जोड़े खोजें जैसे कि जोड़ी के तत्व पायथन में अलग-अलग पंक्तियों में हों

    मान लीजिए कि हमारे पास अद्वितीय तत्वों का एक मैट्रिक्स और एक योग है; हमें मैट्रिक्स से उन सभी जोड़ों को खोजना है जिनका योग दिए गए योग के बराबर है। यहां, जोड़ी के प्रत्येक तत्व को अलग-अलग पंक्तियों से लिया जाएगा। तो, अगर इनपुट इस तरह है - 2 4 3 5 6 9 8 7 10 11 14 12 13 1 15 16 sum =13, तो आउटप