diff --git a/lcci/10.01.Sorted Merge/README.md b/lcci/10.01.Sorted Merge/README.md index dad7ace51f10c..ef03e0dc1b921 100644 --- a/lcci/10.01.Sorted Merge/README.md +++ b/lcci/10.01.Sorted Merge/README.md @@ -45,6 +45,31 @@ B = [2,5,6], n = 3 ``` +### **JavaScript** + +```js +/** + * @param {number[]} A + * @param {number} m + * @param {number[]} B + * @param {number} n + * @return {void} Do not return anything, modify A in-place instead. + */ +var merge = function(A, m, B, n) { + let i = m - 1, j = n - 1; + for (let k = A.length - 1; k >= 0; k--) { + if (k == i) return; + if (i < 0 || A[i] <= B[j]) { + A[k] = B[j]; + j--; + } else { + A[k] = A[i]; + i--; + } + } +}; +``` + ### **...** ``` diff --git a/lcci/10.01.Sorted Merge/README_EN.md b/lcci/10.01.Sorted Merge/README_EN.md index 303a026e1c5ab..4b2481f30015e 100644 --- a/lcci/10.01.Sorted Merge/README_EN.md +++ b/lcci/10.01.Sorted Merge/README_EN.md @@ -38,6 +38,31 @@ B = [2,5,6], n = 3 ``` +### **JavaScript** + +```js +/** + * @param {number[]} A + * @param {number} m + * @param {number[]} B + * @param {number} n + * @return {void} Do not return anything, modify A in-place instead. + */ +var merge = function(A, m, B, n) { + let i = m - 1, j = n - 1; + for (let k = A.length - 1; k >= 0; k--) { + if (k == i) return; + if (i < 0 || A[i] <= B[j]) { + A[k] = B[j]; + j--; + } else { + A[k] = A[i]; + i--; + } + } +}; +``` + ### **...** ``` diff --git a/lcci/10.01.Sorted Merge/Solution.js b/lcci/10.01.Sorted Merge/Solution.js new file mode 100644 index 0000000000000..e508845c213fa --- /dev/null +++ b/lcci/10.01.Sorted Merge/Solution.js @@ -0,0 +1,20 @@ +/** + * @param {number[]} A + * @param {number} m + * @param {number[]} B + * @param {number} n + * @return {void} Do not return anything, modify A in-place instead. + */ + var merge = function(A, m, B, n) { + let i = m - 1, j = n - 1; + for (let k = A.length - 1; k >= 0; k--) { + if (k == i) return; + if (i < 0 || A[i] <= B[j]) { + A[k] = B[j]; + j--; + } else { + A[k] = A[i]; + i--; + } + } +}; \ No newline at end of file