मान लीजिए कि हमारे पास सकारात्मक मूल्यों के साथ लक्ष्य नामक एक सरणी है। अब सभी शून्यों के साथ समान आकार के प्रारंभिक सरणी पर विचार करें। यदि हम यह ऑपरेशन करते हैं तो हमें प्रारंभिक से लक्ष्य सरणी उत्पन्न करने के लिए आवश्यक न्यूनतम संख्या में संचालन करना होगा:(प्रारंभिक से किसी भी उपसरणी का चयन करें और प्रत्येक मान को एक से बढ़ाएं।)
इसलिए, यदि इनपुट लक्ष्य =[2,3,4,3,2] की तरह है, तो आउटपुट 4 होगा क्योंकि शुरुआत में सरणी [0,0,0,0,0,0] थी, पहले इंडेक्स 0 से सबरे का चयन करें 4 और इसे 1 से बढ़ाएँ, इसलिए सरणी [1,1,1,1,1] होगी, फिर इसे [2,2,2,2,2] बनाने के लिए फिर से सूचकांक 0 से 4 का चयन करें, फिर से तत्वों का चयन करें सूचकांक 1 से 3 और वृद्धि, इसलिए सरणी [2,3,3,3,2] होगी, और अंत में अनुक्रमणिका 2 का चयन करें और सरणी बनाएं [2,3,4,3,2] जो लक्ष्य के समान है।पी>
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
prev_num :=0
-
कदम :=0
-
लक्ष्य में प्रत्येक वैल के लिए, करें
-
चरण:=चरण + वैल - prev_num अगर वैल> prev_num अन्यथा 0
-
prev_num :=वैल
-
-
वापसी के चरण
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें
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