DEV Community

Irina
Irina

Posted on • Edited on

Leetcode #1299 - Replace Elements with Greatest Element on Right Side

Hello Dev Community,
I'm posting my solution to the Leetcode problem #1299 - Replace Elements with Greatest Element on Right Side Easy

Problem description:

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.

var replaceElements = function (arr) {
    let res = new Array(arr.length);
    let max = 0;
    res[arr.length - 1] = -1;

    for (let i = arr.length - 1; i > 0; i--) {
        max = Math.max(arr[i], max);
        res[i - 1] = max;
    }

    return res;
};

console.log(replaceElements([17, 18, 5, 4, 6, 1])); 
// [ 18, 6, 6, 6, 1, -1 ]
Enter fullscreen mode Exit fullscreen mode

Method - Two pointers (i and i-1)
Complexity - Time O(n) | Space O(n)

Leetcode stats:
Runtime - beats 78.21%
Memory - beats 60.18%

I welcome your comments or suggestions!

Top comments (0)

AWS GenAI LIVE!

GenAI LIVE! is a dynamic live-streamed show exploring how AWS and our partners are helping organizations unlock real value with generative AI.

Tune in to the full event

DEV is partnering to bring live events to the community. Join us or dismiss this billboard if you're not interested. ❤️