# [LeetCode]#1827. Minimum Operations to Make the Array Increasing

Environment: Python 3.8

Key technique: if

You are given an integer array `nums` (0-indexed). In one operation, you can choose an element of the array and increment it by `1`.

• For example, if `nums = [1,2,3]`, you can choose to increment `nums[1]` to make `nums = [1,3,3]`.

Return the minimum number of operations needed to make `nums` strictly increasing.

An array `nums` is strictly increasing if `nums[i] < nums[i+1]` for all `0 <= i < nums.length - 1`. An array of length `1` is trivially strictly increasing.

Example 1:

`Input: nums = [1,1,1]Output: 3Explanation: You can do the following operations:1) Increment nums[2], so nums becomes [1,1,2].2) Increment nums[1], so nums becomes [1,2,2].3) Increment nums[2], so nums becomes [1,2,3].`

Example 2:

`Input: nums = [1,5,2,4,1]Output: 14`

Analysis:

1. If only one number is in list, return 0
2. If nums[i+1] <num[i], calculate diference and add 1 to nums[i]. Such as 2+3+1=6 > 5 in step2.
3. Search all list completely and get new list [1 ,5 ,6, 7, 8]
4. new-orginal list and summarize them. We get 14.

Solution:

`class Solution:    def minOperations(self, nums):        ans=0        length=len(nums)        if length < 2:            return 0        else:            for i in range(length-1):                if nums[i+1]<nums[i]:                    ans=ans+nums[i]-nums[i+1]+1                    nums[i+1]=nums[i]+1            return ans`

Submissions: