मान लीजिए कि हमारे पास एक सरणी संख्या है। एक ऑपरेशन में, हम सरणी के एक तत्व का चयन कर सकते हैं और इसे 1 से बढ़ा सकते हैं। उदाहरण के लिए, यदि हमारे पास [4,5,6] है, तो हम सरणी बनाने के लिए इंडेक्स 1 पर तत्व का चयन कर सकते हैं [4,5,5] . फिर हमें अंकों को सख्ती से बढ़ाने के लिए आवश्यक न्यूनतम संक्रियाओं की संख्या ज्ञात करनी होगी।
इसलिए, यदि इनपुट संख्या =[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]।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
गिनती:=0
-
मैं के लिए 0 से लेकर अंकों के आकार -1 तक की सीमा में हूं
-
अगर अंक[i+1] −=अंक[i], तो
-
गिनती :=गिनती + अंक[i] - अंक [i+1] + 1
-
अंक [i+1] :=अंक[i+1] + अंक[i] - अंक[i+1] + 1
-
-
-
वापसी की संख्या
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
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