# [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:** 3

**Explanation:** 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:**

- If only one number is in list, return 0
- If nums[i+1] <num[i], calculate diference and add 1 to nums[i]. Such as 2+3+1=6 > 5 in step2.
- Search all list completely and get new list [1 ,5 ,6, 7, 8]
- 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:**