मान लीजिए हमारे पास nums नामक एक सरणी है। एक संचालन में, हम सरणी के एक तत्व का चयन कर सकते हैं और इसे 1 से बढ़ा सकते हैं। उदाहरण के लिए, यदि हमारे पास [4,5,6] है, तो हम इंडेक्स 1 पर तत्व का चयन करके सरणी को [4,5,5] बना सकते हैं। फिर हमें nums को सख्ती से बढ़ता हुआ बनाने के लिए आवश्यक न्यूनतम संचालन की संख्या ढूंढनी है।
उदाहरण के लिए, यदि इनपुट nums = [8,5,7] है, तो आउटपुट 7 होगा, क्योंकि हमें इस तरह बढ़ाने की आवश्यकता है: [8,6,7], [8,7,7], [8,8,7], [8,9,7], [8,9,8], [8,9,9], [8,9,10]।
हल करने के चरण
count := 0
i को 0 से nums के आकार - 1 तक की रेंज में लिए करें
यदि nums[i+1] <= nums[i], तो
count := count + nums[i] - nums[i+1] + 1
nums[i+1] := nums[i+1] + nums[i] - nums[i+1] + 1
count वापस करें
उदाहरण
def solve(nums):
count = 0
for i in range(len(nums) - 1):
if nums[i+1] <= nums[i]:
count += nums[i] - nums[i+1] + 1
nums[i+1] += nums[i] - nums[i+1] + 1
return count
nums = [8,5,7]
print(solve(nums))
इनपुट
[8,5,7]
आउटपुट
7