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

पायथन में एक अच्छे सबअरे का अधिकतम स्कोर खोजने का कार्यक्रम

मान लीजिए कि हमारे पास nums नामक एक सरणी है और एक मान k है। एक सबअरे के स्कोर पर विचार करें (i, j) को न्यूनतम सबअरे अंकों के रूप में परिभाषित किया गया है [i..j] * (j-i + 1)। अब, एक अच्छा सबअरे एक सबअरे है जहाँ i <=k <=j. हमें एक अच्छे सबअरे का अधिकतम संभव स्कोर खोजना होगा।

इसलिए, यदि इनपुट अंकों की तरह है =[2,5,4,8,5,6] k =3, तो आउटपुट 20 होगा क्योंकि इष्टतम उपसरणी यहाँ (1, 5) है, इसलिए न्यूनतम संख्या [1] ..5] 4 है, इसलिए 4*(5-1+1) =20

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

  • उत्तर:=अंक [के], न्यूनतम संख्या:=अंक [के]

  • मैं:=के, जे:=के

  • जबकि i> -1 या j <अंकों का आकार, करें

    • जबकि मैं> -1 और अंक [i]>=न्यूनतम संख्या, करें

      • मैं :=मैं - 1

    • जबकि j <अंकों और अंकों का आकार [j]>=minNum, do

      • जे:=जे + 1

    • उत्तर:=अधिकतम उत्तर और ((j - i - 1) * न्यूनतम संख्या)

    • न्यूनतम संख्या:=अधिकतम (अंक [i] यदि i> -1 अन्यथा -1) और (अंक [j] यदि j <अंकों का आकार अन्यथा -1)

  • वापसी उत्तर

उदाहरण

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

def solve(nums, k):
   ans = nums[k]
   minNum = nums[k]
   i = k
   j = k
   while i > -1 or j < len(nums):
      while i > -1 and nums[i] >= minNum:
         i -= 1
      while j < len(nums) and nums[j] >= minNum:
         j += 1
      ans = max(ans, (j - i - 1) * minNum)
      minNum = max(nums[i] if i > -1 else -1 , nums[j] if j <
len(nums) else -1)
   return ans

nums = [2,5,4,8,5,6]
k = 3
print(solve(nums, k))

इनपुट

[2,5,4,8,5,6], 3

आउटपुट

20

  1. उपविजेता स्कोर खोजने के लिए पायथन कार्यक्रम

    मान लीजिए कि हमारे पास प्रतिभागियों की विभिन्न संख्या के लिए अंकों की एक सूची है। हमें उपविजेता स्कोर खोजना है। इसलिए, यदि इनपुट स्कोर की तरह है =[5,8,2,6,8,5,8,7], तो आउटपुट 7 होगा क्योंकि विजेता स्कोर 8 है और दूसरा सबसे बड़ा स्कोर 7 है। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - विजेता:=-

  1. पायथन में मी द्वारा सबएरे मॉड्यूलो का अधिकतम योग खोजने का कार्यक्रम

    पायथन में मी द्वारा सबएरे मॉड्यूलो का अधिकतम योग खोजने का कार्यक्रम मान लीजिए कि हमारे पास n तत्वों के साथ एक सरणी संख्या है। हमारे पास एक और पूर्णांक m है। हमें इसके किसी भी उप-सरणी मॉड्यूल एम के योग का अधिकतम मान ज्ञात करना है। इसलिए, यदि इनपुट nums =[1,5,7,3] m =5 जैसा है, तो आउटपुट 3 होगा क्यो

  1. पायथन में अधिकतम भवन ऊंचाई खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास एक मान n है और जोड़े की एक और सूची है जिसे प्रतिबंध कहा जाता है। हम एक शहर में नई इमारतें बनाना चाहते हैं। लेकिन कुछ प्रतिबंध हैं। हम एक लाइन में बना सकते हैं और इमारतों को 1 से n तक लेबल किया जाता है। प्रतिबंधों के दो पैरामीटर हैं, इसलिए प्रतिबंध [i] =(id_i, max_height_i) इंग