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

पायथन में K-योग जोड़े की अधिकतम संख्या खोजने का कार्यक्रम

मान लीजिए कि हमारे पास nums नामक एक सरणी है और दूसरा मान k है। एक ऑपरेशन में, हम उन दो तत्वों का चयन कर सकते हैं, जिनका योग k के बराबर है और उन्हें सरणी से हटा दें। हमें ऐरे पर अधिकतम संख्या में ऑपरेशन करने होंगे जो हम कर सकते हैं।

इसलिए, यदि इनपुट nums =[8,3,6,1,5] k =9 की तरह है, तो आउटपुट 2 होगा क्योंकि हम [3,6] को हटा सकते हैं जिसका योग 9 है, फिर [8,1] को हटा दें ] जिसका योग भी 9 है।

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

  • काउंटर:=अंकों में मौजूद प्रत्येक आइटम की आवृत्ति रखने वाला नक्शा
  • res :=0
  • काउंटर में प्रत्येक अंक के लिए, करें
    • यदि काउंटर [k-num] शून्य नहीं है, तो
      • यदि संख्या k - संख्या के समान नहीं है, तो
        • res :=res + न्यूनतम काउंटर [संख्या] और काउंटर [k-num]
        • काउंटर[k-num] :=0
        • काउंटर[संख्या] :=0
      • अन्यथा,
        • res :=res + भागफल (काउंटर[संख्या] / 2)
  • रिटर्न रेस

उदाहरण

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

from collections import Counter
def solve(nums, k):
   counter = Counter(nums)
   res = 0
   for num in counter:
      if counter.get(k-num, 0):
         if num != k - num:
            res += min(counter[num], counter[k-num])
            counter[k-num] = 0
            counter[num] = 0
         else:
            res += int(counter[num] / 2)

   return res

nums = [8,3,6,1,5]
k = 9
print(solve(nums, k))

इनपुट

[8,3,6,1,5], 9

आउटपुट

2

  1. पायथन का उपयोग करके अच्छे लीफ नोड्स जोड़े की संख्या खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास एक बाइनरी ट्री है। और दूसरा मान दूरी d. दो अलग-अलग लीफ नोड्स की एक जोड़ी को अच्छा कहा जाता है, जब इन दो नोड्स के बीच का सबसे छोटा रास्ता छोटा या दूरी d के समान होता है। तो, अगर इनपुट पसंद है और दूरी d =4, तो आउटपुट 2 होगा क्योंकि जोड़े (8,7) और (5,6) हैं क्योंकि उनकी पथ लं

  1. पायथन में एक श्रेणी में नोड्स की संख्या खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास एक बीएसटी है, और हमारे पास बाएं और दाएं सीमाएं एल और आर भी हैं, हमें रूट में उन सभी नोड्स की गिनती ढूंढनी है जिनके मान एल और आर (समावेशी) के बीच मौजूद हैं। तो, अगर इनपुट पसंद है l =7, r =13, तो आउटपुट 3 होगा, क्योंकि तीन नोड हैं:8, 10, 12. इसे हल करने के लिए, हम इन चरणों

  1. सूची में सबसे छोटी संख्या खोजने के लिए पायथन प्रोग्राम

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