Skip to content

Commit 939af48

Browse files
authored
Merge pull request #1285 from Pho3b/patch-1
Create 1299-Replace-Elements-With-Greatest-Element-On-Right-Side.js
2 parents 14409d1 + 9562122 commit 939af48

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
/**
2+
* Reverse - Space O(1)
3+
* Time O(N) | Space O(N)
4+
* https://leetcode.com/problems/replace-elements-with-greatest-element-on-right-side/
5+
* @param {number[]} arr
6+
* @return {number[]}
7+
*/
8+
var replaceElements = (arr, max = -1, ans = [ -1 ]) => {
9+
arr = arr.reverse(); /* Time O(N) */
10+
11+
for (let i = 0; (i < (arr.length - 1)); i++) {/* Time O(N) */
12+
max = Math.max(max, arr[i]);
13+
ans[(i + 1)] = max; /* Space O(N) */
14+
}
15+
16+
return ans.reverse(); /* Time O(N) */
17+
};
18+
19+
/**
20+
* Backward - In-Place
21+
* Time O(N) | Space O(1)
22+
* https://leetcode.com/problems/replace-elements-with-greatest-element-on-right-side/
23+
* @param {number[]} arr
24+
* @return {number[]}
25+
*/
26+
var replaceElements = (arr, max = -1) => {
27+
for (let i = (arr.length - 1); (0 <= i); i--) {/* Time O(N) */
28+
const num = arr[i];
29+
30+
arr[i] = max;
31+
max = Math.max(max, num);
32+
}
33+
34+
return arr;
35+
};

0 commit comments

Comments
 (0)