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

पायथन में लक्ष्य सरणी बनाने के लिए उपसरणियों पर न्यूनतम वृद्धि संचालन ज्ञात करने का प्रोग्राम


मान लीजिए हमारे पास target नामक एक सरणी है जिसमें धनात्मक मान हैं। अब initial नामक समान आकार की एक सरणी पर विचार करें जिसमें सभी शून्य हैं। हमें target सरणी को initial से उत्पन्न करने के लिए आवश्यक न्यूनतम संचालनों की संख्या ज्ञात करनी है यदि हम यह संचालन करते हैं: (initial से कोई भी उपसरणी चुनें और प्रत्येक मान को एक से बढ़ाएं।)

इसलिए, यदि इनपुट है target = [2,3,4,3,2], तो आउटपुट 4 होगा क्योंकि प्रारंभ में सरणी [0,0,0,0,0] थी, पहले पास में सूचकांक 0 से 4 तक उपसरणी चुनें और इसे 1 से बढ़ाएं, इसलिए सरणी [1,1,1,1,1] होगी, फिर फिर से सूचकांक 0 से 4 तक चुनें ताकि यह [2,2,2,2,2] बन जाए, फिर सूचकांक 1 से 3 तक तत्व चुनें और बढ़ाएं, इसलिए सरणी [2,3,3,3,2] होगी, और अंत में सूचकांक 2 चुनें और सरणी को [2,3,4,3,2] बनाएं जो target के समान है।

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

  • prev_num := 0

  • steps := 0

  • target में प्रत्येक val के लिए, करें

    • steps := steps + val - prev_num यदि val > prev_num अन्यथा 0

    • prev_num := val

  • steps वापस करें

उदाहरण

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

def solve(target):
    prev_num = 0
    steps = 0
    for val in target:
        steps += val - prev_num if val > prev_num else 0
        prev_num = val
    return steps

target = [2,3,4,3,2]
print(solve(target))

इनपुट

[2,3,4,3,2]

आउटपुट

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

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

  1. - पायथन में अंतिम इंडेक्स तक पहुंचने के लिए न्यूनतम चरणों की संख्या खोजने का प्रोग्राम

    मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है और हम वर्तमान में nums[0] पर स्थित हैं। प्रत्येक चरण में, हम वर्तमान इंडेक्स i से i+1 या i-1 या j पर कूद सकते हैं जहां nums[i] == nums[j]। हमें अंतिम इंडेक्स तक पहुंचने के लिए आवश्यक न्यूनतम चरणों की संख्या ढूंढनी है।उदाहरण के लिए, यदि इनपुट nums

  1. - पायथन में n तक जोड़ने के लिए न्यूनतम फाइबोनैचि संख्याओं की संख्या ढूंढने का प्रोग्राम

    मान लीजिए हमारे पास एक संख्या n है; हमें n तक जोड़ने के लिए आवश्यक न्यूनतम फाइबोनैचि संख्याओं की संख्या ढूंढनी है। उदाहरण के लिए, यदि इनपुट n = 20 है, तो आउटपुट 3 होगा, क्योंकि हम फाइबोनैचि संख्याओं [2, 5, 13] का उपयोग करके 20 तक जोड़ सकते हैं। इसे हल करने के लिए, हम निम्न चरणों का पालन करेंगे res