📘
LeetCode Practice
  • Index
  • Array
    • 001 Max Consecutive Ones
    • 002 Find Numbers with Even Number of Digits
    • 003 Squares of a Sorted Array
    • 004 Duplicate Zeros
    • 005 Merge Sorted Array
    • 006 Remove Element
    • 007 Remove Duplicates from Sorted Array
    • 008 Check If N and Its Double Exist
    • 09 Valid Mountain Array
    • 10 Replace Elements with Greatest Element on Right Side
Powered by GitBook
On this page

Was this helpful?

  1. Array

10 Replace Elements with Greatest Element on Right Side

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]
Explanation: 
- index 0 --> the greatest element to the right of index 0 is index 1 (18).
- index 1 --> the greatest element to the right of index 1 is index 4 (6).
- index 2 --> the greatest element to the right of index 2 is index 4 (6).
- index 3 --> the greatest element to the right of index 3 is index 4 (6).
- index 4 --> the greatest element to the right of index 4 is index 5 (1).
- index 5 --> there are no elements to the right of index 5, so we put -1.

Example 2:

Input: arr = [400]
Output: [-1]
Explanation: There are no elements to the right of index 0.

Constraints:

  • 1 <= arr.length <= 104

  • 1 <= arr[i] <= 105

Solution:

var replaceElements = function(arr) {
    if(arr.length == 1) {
        return [-1]
    }else{
        arr.push(-1)
        for(let i = arr.length-1; i>0 ; i--){
            arr[i-1] = Math.max(arr[i],arr[i-1])
        }
        arr.shift(arr[0])
        return arr
    }
};
Previous09 Valid Mountain Array

Last updated 2 years ago

Was this helpful?