ELEMENTS爱乐冬雨 2019-12-29
题目如下:
Given an array
arr, replace every element in that array with the greatest element among the elements to its right, and replace the last element with-1.After doing so, return the array.
Example 1:
Input: arr = [17,18,5,4,6,1] Output: [18,6,6,6,1,-1]Constraints:
1 <= arr.length <= 10^41 <= arr[i] <= 10^5
解题思路:从右往左遍历arr,同时记录出现的最大值即可。
代码如下:
class Solution(object):
def replaceElements(self, arr):
"""
:type arr: List[int]
:rtype: List[int]
"""
res = [-1]
max_val = arr[-1]
for i in range(len(arr)-2,-1,-1):
res.insert(0,max_val)
max_val = max(arr[i], max_val)
return res