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

पायथन में k इन्क्रीमेंट्स के बाद सबसे अधिक बार आने वाली संख्या खोजने का प्रोग्राम


मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची और एक मान k है। एक ऑपरेशन पर विचार करें जहां हम किसी तत्व को 1 से बढ़ाते हैं। हम अधिकतम k बार ऐसा कर सकते हैं, हमें उस सबसे अधिक बार आने वाली संख्या का मान ढूंढना है जिसे हम प्राप्त कर सकते हैं। यदि एक से अधिक समाधान हैं, तो सबसे छोटी संभव संख्या चुनें।

उदाहरण के लिए, यदि इनपुट nums = [1, 0, 0, 0, 8, 8, 8, 8] और k = 8 है, तो आउटपुट 8 होगा, क्योंकि हम 1 को 7 बार बढ़ाकर 8 बना सकते हैं, और किसी 0 को 1 बना सकते हैं, तो हमें [8, 1, 0, 0, 8, 8, 8, 8] मिलता है। तो परिणाम 8 है।

समाधान दृष्टिकोण

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

  • nums को सॉर्ट करें
  • low := 0, high := 0
  • dist := 0, best := 0
  • ret := -1
  • जब तक high < len(nums):
    • यदि high > 0 और nums[high] != nums[high-1]:
      • dist := dist + (high - low) * (nums[high] - nums[high-1])
    • high := high + 1
    • जब तक dist > k:
      • dist := dist - nums[high-1] - nums[low]
      • low := low + 1
    • यदि high - low > best:
      • best := high - low
      • ret := nums[high-1]
    • ret लौटाएं

उदाहरण कोड

class Solution:
    def solve(self, nums, k):
        nums.sort()
        low, high = 0, 0
        dist = 0
        best = 0
        ret = -1
        while high < len(nums):
            if high > 0 and nums[high] != nums[high - 1]:
                dist += (high - low) * (nums[high] - nums[high - 1])
            high += 1
            while dist > k:
                dist -= nums[high - 1] - nums[low]
                low += 1
            if high - low > best:
                best = high - low
                ret = nums[high - 1]
        return ret

ob = Solution()
nums = [1, 0, 0, 0, 8, 8, 8, 8]
k = 8
print(ob.solve(nums, k))

इनपुट

[1, 0, 0, 0, 8, 8, 8, 8], 8

आउटपुट

8

  1. पायथन में मर्जिंग के बाद न्यूनतम रंगों की संख्या खोजने का प्रोग्राम पायथन में मर्जिंग के बाद न्यूनतम रंगों की संख्या खोजने का प्रोग्राम

    मान लीजिए हमारे पास रंगों (R, G, B) की एक लिस्ट है। अब यदि दो अलग-अलग रंग अगल-बगल हैं तो वे तीसरे रंग के एकल रंग आइटम में बदल सकते हैं। हमें किसी भी संभावित परिवर्तन अनुक्रम के बाद शेष सबसे छोटी संख्या ढूंढनी है।उदाहरण के लिए, यदि इनपुट colors = [G, R, G, B, R] है, तो आउटपुट 1 होगा क्योंकि यह नीचे द

  1. - पायथन में K इन्क्रीमेंट के बाद सबसे लंबी समतुल्य सबलिस्ट खोजने का प्रोग्राम

    मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची और k है। एक ऑपरेशन पर विचार करें जहां हम किसी एक तत्व को एक बार बढ़ा सकते हैं। यदि हम अधिकतम k बार ऑपरेशन कर सकते हैं, तो हमें समान तत्वों वाली सबसे लंबी सबलिस्ट ढूंढनी है। उदाहरण के लिए, यदि इनपुट nums = [3, 5, 9, 6, 10, 7] और k = 6 है, तो आउटपुट 3

  1. - पायथन प्रोग्राम: लिस्ट में सबसे बड़ी संख्या ढूंढें

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट लिस्ट इनपुट दिए जाने पर, हमें दी गई लिस्ट में सबसे बड़ी संख्या ढूंढने की आवश्यकता है। यहां हम दो दृष्टिकोणों पर चर्चा करेंगे: सॉर्टिंग तकनीकों का उपयोग करना बिल्ट-इन max() फंक्शन का