[Leetcode] Replace Elements with Greatest Element on Right Side
1 min readNov 25, 2020
Problem:
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:
Input: arr = [17,18,5,4,6,1]
Output: [18,6,6,6,1,-1]
Solution:
class Solution(object):
def replaceElements(self, arr):
"""
:type arr: List[int]
:rtype: List[int]
"""
arr.reverse()
maximum_num = 0
for i in range(len(arr)):
if maximum_num < arr[i]:
maximum_num = arr[i]
if i == 0:
maximum_num = arr[i]
arr[i] = -1
arr[i] = maximum_num
for i in range(len(arr)-2, -1, -1):
arr[i + 1] = arr[i]
arr[0] = -1
arr.reverse()
return arr