Skip to content

Commit 7a2a1dc

Browse files
authored
Update 1299-Replace-Elements-With-Greatest-Element-On-Right-Side.js
1 parent 851603d commit 7a2a1dc

File tree

1 file changed

+28
-10
lines changed

1 file changed

+28
-10
lines changed
Lines changed: 28 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,35 @@
11
/**
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
221
* Time O(N) | Space O(1)
3-
*
22+
* https://leetcode.com/problems/replace-elements-with-greatest-element-on-right-side/
423
* @param {number[]} arr
524
* @return {number[]}
625
*/
7-
function replaceElements(arr) {
8-
let max = -1;
26+
var replaceElements = (arr, max = -1) => {
27+
for (let i = (arr.length - 1); (0 <= i); i--) {/* Time O(N) */
28+
const num = arr[i];
929

10-
for (let i = arr.length - 1; i >= 0; i--) {
11-
const temp = arr[i];
12-
arr[i] = max;
13-
max = Math.max(max, temp);
14-
}
30+
arr[i] = max;
31+
max = Math.max(max, num);
32+
}
1533

16-
return arr;
17-
};
34+
return arr;
35+
};

0 commit comments

Comments
 (0)