[Leetcode] Replace Elements with Greatest Element on Right Side

Matthew Boyd
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

--

--

Matthew Boyd
Matthew Boyd

Written by Matthew Boyd

Learning, and posting my findings!

No responses yet