Easy
Array Transformation — Python
Full explanation · Time O(n^2) · Space O(n)
# Time: O(n^2)
# Space: O(n)
class Solution(object):
def transformArray(self, arr):
"""
:type arr: List[int]
:rtype: List[int]
"""
def is_changable(arr):
return any(arr[i-1] > arr[i] < arr[i+1] or
arr[i-1] < arr[i] > arr[i+1]
for i in xrange(1, len(arr)-1))
while is_changable(arr):
new_arr = arr[:]
for i in xrange(1, len(arr)-1):
new_arr[i] += arr[i-1] > arr[i] < arr[i+1]
new_arr[i] -= arr[i-1] < arr[i] > arr[i+1]
arr = new_arr
return arr