Untitled
unknown
plain_text
a year ago
1.4 kB
3
Indexable
module.exports = { solve: function(A) { function merge(a) { if (a.length <= 1) { return a; } let n = a.length; let mid = Math.floor(n / 2); let left = a.slice(0, mid); let right = a.slice(mid); let sortedLeft = merge(left); let sortedRight = merge(right); return mergeSortedArray(sortedLeft, sortedRight); } function mergeSortedArray(left, right) { let result = []; let leftIndex = 0; let rightIndex = 0; while (leftIndex < left.length && rightIndex < right.length) { if (left[leftIndex] < right[rightIndex]) { result.push(left[leftIndex]); leftIndex++; } else if (right[rightIndex] < left[leftIndex]) { result.push(right[rightIndex]); rightIndex++; } } while (leftIndex < left.length) { result.push(left[leftIndex]); leftIndex++; } while (rightIndex < right.length) { result.push(right[rightIndex]); rightIndex++; } return result; } return merge(A); } };
Editor is loading...
Leave a Comment