From 851603d8d48266697cb87f8c5e8954a850f11659 Mon Sep 17 00:00:00 2001 From: a-rinaldi Date: Wed, 19 Oct 2022 00:06:27 +0200 Subject: [PATCH 1/4] Create 1299-Replace-Elements-With-Greatest-Element-On-Right-Side.js --- ...ments-With-Greatest-Element-On-Right-Side.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 javascript/1299-Replace-Elements-With-Greatest-Element-On-Right-Side.js diff --git a/javascript/1299-Replace-Elements-With-Greatest-Element-On-Right-Side.js b/javascript/1299-Replace-Elements-With-Greatest-Element-On-Right-Side.js new file mode 100644 index 000000000..c3cfd0fcc --- /dev/null +++ b/javascript/1299-Replace-Elements-With-Greatest-Element-On-Right-Side.js @@ -0,0 +1,17 @@ +/** + * Time O(N) | Space O(1) + * + * @param {number[]} arr + * @return {number[]} + */ +function replaceElements(arr) { + let max = -1; + + for (let i = arr.length - 1; i >= 0; i--) { + const temp = arr[i]; + arr[i] = max; + max = Math.max(max, temp); + } + + return arr; +}; From 7a2a1dcc45850e912907c7914bef97b58221c293 Mon Sep 17 00:00:00 2001 From: aakhtar3 Date: Wed, 19 Oct 2022 07:35:37 -0400 Subject: [PATCH 2/4] Update 1299-Replace-Elements-With-Greatest-Element-On-Right-Side.js --- ...nts-With-Greatest-Element-On-Right-Side.js | 38 ++++++++++++++----- 1 file changed, 28 insertions(+), 10 deletions(-) diff --git a/javascript/1299-Replace-Elements-With-Greatest-Element-On-Right-Side.js b/javascript/1299-Replace-Elements-With-Greatest-Element-On-Right-Side.js index c3cfd0fcc..3fccac053 100644 --- a/javascript/1299-Replace-Elements-With-Greatest-Element-On-Right-Side.js +++ b/javascript/1299-Replace-Elements-With-Greatest-Element-On-Right-Side.js @@ -1,17 +1,35 @@ /** + * Reverse - Space O(1) + * Time O(N) | Space O(N) + * https://leetcode.com/problems/replace-elements-with-greatest-element-on-right-side/ + * @param {number[]} arr + * @return {number[]} + */ +var replaceElements = (arr, max = -1, ans = [ -1 ]) => { + arr = arr.reverse(); /* Time O(N) */ + + for (let i = 0; (i < (arr.length - 1)); i++) {/* Time O(N) */ + max = Math.max(max, arr[i]); + ans[(i + 1)] = max; /* Space O(N) */ + } + + return ans.reverse(); /* Time O(N) */ +}; + +/** + * Backward - In-Place * Time O(N) | Space O(1) - * + * https://leetcode.com/problems/replace-elements-with-greatest-element-on-right-side/ * @param {number[]} arr * @return {number[]} */ -function replaceElements(arr) { - let max = -1; +var replaceElements = (arr, max = -1) => { + for (let i = (arr.length - 1); (0 <= i); i--) {/* Time O(N) */ + const num = arr[i]; - for (let i = arr.length - 1; i >= 0; i--) { - const temp = arr[i]; - arr[i] = max; - max = Math.max(max, temp); - } + arr[i] = max; + max = Math.max(max, num); + } - return arr; -}; + return arr; + }; From 8f88176066c6e82529e2d6c1536ebd32e19763c6 Mon Sep 17 00:00:00 2001 From: aakhtar3 Date: Wed, 19 Oct 2022 07:37:20 -0400 Subject: [PATCH 3/4] Rename 1299-Replace-Elements-With-Greatest-Element-On-Right-Side.js to 1299-Replace-Elements-with-Greatest-Element-on-Right-Side.js --- ... 1299-Replace-Elements-with-Greatest-Element-on-Right-Side.js} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename javascript/{1299-Replace-Elements-With-Greatest-Element-On-Right-Side.js => 1299-Replace-Elements-with-Greatest-Element-on-Right-Side.js} (100%) diff --git a/javascript/1299-Replace-Elements-With-Greatest-Element-On-Right-Side.js b/javascript/1299-Replace-Elements-with-Greatest-Element-on-Right-Side.js similarity index 100% rename from javascript/1299-Replace-Elements-With-Greatest-Element-On-Right-Side.js rename to javascript/1299-Replace-Elements-with-Greatest-Element-on-Right-Side.js From 9562122bb122ab95da58fa7757d748df9f7a644e Mon Sep 17 00:00:00 2001 From: aakhtar3 Date: Wed, 19 Oct 2022 07:39:25 -0400 Subject: [PATCH 4/4] Update 1299-Replace-Elements-with-Greatest-Element-on-Right-Side.js --- ...1299-Replace-Elements-with-Greatest-Element-on-Right-Side.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/javascript/1299-Replace-Elements-with-Greatest-Element-on-Right-Side.js b/javascript/1299-Replace-Elements-with-Greatest-Element-on-Right-Side.js index 3fccac053..21557c9f7 100644 --- a/javascript/1299-Replace-Elements-with-Greatest-Element-on-Right-Side.js +++ b/javascript/1299-Replace-Elements-with-Greatest-Element-on-Right-Side.js @@ -32,4 +32,4 @@ var replaceElements = (arr, max = -1) => { } return arr; - }; +};