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

पायथन में समान ऊंचाई के k टावर बनाने के लिए आवश्यक न्यूनतम संख्या में ईंटों को खोजने का कार्यक्रम

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

इसलिए, यदि इनपुट हाइट्स =[4, 7, 31, 14, 40] k =3 की तरह है, तो आउटपुट 17 होगा, क्योंकि हम 5, 8, और 15 का चयन कर सकते हैं जिसके लिए समान ऊंचाई बनाने के लिए 17 ईंटों की आवश्यकता होती है। ।

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

  • सूची की ऊंचाई को क्रमबद्ध करें
  • उत्तर:=अनंत
  • s :=0
  • प्रत्येक सूचकांक के लिए i और मान x ऊंचाई में, करते हैं
    • s :=s + x
    • अगर मैं>=k, तो
      • s :=s - ऊंचाई[i - k]
    • अगर मैं>=k-1, तो
      • उत्तर:=न्यूनतम उत्तर और (x * k - s)
  • वापसी उत्तर

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

उदाहरण

class Solution:
   def solve(self, heights, k): heights.sort()
      ans = float("inf")
      s = 0
      for i, x in enumerate(heights):
         s += x
         if i >= k:
            s -= heights[i - k]
         if i >= k - 1:
            ans = min(ans, x * k - s)
      return ans
ob = Solution()
heights = [5, 8, 32, 15, 41]
k = 3
print(ob.solve(heights, k))

इनपुट

[5, 8, 32, 15, 41], 3

आउटपुट

17

  1. पायथन में अंतिम स्थिति तक पहुंचने के लिए आवश्यक न्यूनतम संख्या में हॉप्स खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास एक सरणी संख्या है, जहां सभी तत्व सकारात्मक हैं। हम सूचकांक 0 पर हैं। यहाँ, सरणी में प्रत्येक तत्व उस स्थिति में हमारी अधिकतम छलांग लंबाई का प्रतिनिधित्व करता है। हमारा लक्ष्य कम छलांग के साथ अंतिम सूचकांक (n-1, जहां n अंकों का आकार है) तक पहुंचना है। तो अगर सरणी [2,3,1,1,4] की

  1. पायथन में एक नंबर से दूसरे नंबर बनाने के लिए आवश्यक न्यूनतम संख्या में संचालन खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास एक नंबर स्टार्ट है और दूसरा नंबर एंड (स्टार्ट <एंड) है, हमें इन ऑपरेशंस का उपयोग करके स्टार्ट टू एंड को कन्वर्ट करने के लिए आवश्यक ऑपरेशंस की न्यूनतम संख्या ज्ञात करनी होगी - 1 से वृद्धि 2 से गुणा करें इसलिए, यदि इनपुट प्रारंभ =5, अंत =11 जैसा है, तो आउटपुट 2 होगा, क्योंकि

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

    मान लीजिए कि हमारे पास दो तार s और t हैं, हमें t को s का विकल्प बनाने के लिए s के लिए आवश्यक न्यूनतम संक्रियाएँ ज्ञात करनी होंगी। अब, प्रत्येक ऑपरेशन में, हम s में कोई भी स्थिति चुन सकते हैं और उस स्थिति के वर्ण को किसी अन्य वर्ण में बदल सकते हैं। इसलिए, यदि इनपुट s =abbpqr, t =bbxy जैसा है, तो आउट