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

अजगर में k वेतन वृद्धि के बाद सबसे अधिक होने वाली संख्या को खोजने के लिए कार्यक्रम

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

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

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

  • सूची संख्या क्रमित करें
  • निम्न:=0, उच्च:=0
  • जिला:=0, श्रेष्ठ:=0
  • रिट:=-1
  • उच्च <अंकों का आकार, करते हैं
    • यदि उच्च> 0 और अंक [उच्च] अंक [उच्च -1] के समान नहीं है, तो
      • dist :=dist +(high - Low) *(nums[high] - nums[high - 1])
    • उच्च :=उच्च + 1
    • जबकि जिला> k, करते हैं
      • dist :=dist - nums[high - 1] - nums[low]
      • निम्न :=निम्न + 1
    • यदि उच्च-निम्न> सर्वोत्तम है, तो
      • सर्वश्रेष्ठ:=उच्च-निम्न
      • ret :=nums[high - 1]
    • रिटर्न रिटर्न

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

उदाहरण कोड

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. न्यूनतम संख्या रंग खोजने का कार्यक्रम पायथन में विलय के बाद रहता है

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

  1. पायथन में K वेतन वृद्धि के बाद सबसे लंबे समय तक समकक्ष सबलिस्ट खोजने का कार्यक्रम

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

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

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