Я работаю над проблемой Quicksort2 на HackerRank. Я не могу понять, как он хочет, чтобы я вывел решение.
Я пытался console.log отсортированных массивов по мере их создания, массив отсортированных массивов и массив массивов, преобразованных в строки. Возврат из функции processData, похоже, ничего не делает.
function checkSort(arr) {
for (let i = 0; i < arr.length - 1; i++) {
if (arr[i] > arr[i + 1]) return false;
}
return true;
}
function processData(input) {
let sortedArrays = [];
quickSort(input);
function quickSort(input) {
if (input.length <= 1) return input;
let pivot = [input[0]];
let left = [], right = [];
for (let i = 1; i < input.length; i++) {
input[i] < pivot ? left.push(input[i]) : right.push(input[i]);
}
let newArr = quickSort(left).concat(pivot, quickSort(right));
if (checkSort(newArr)) sortedArrays.push(newArr);
return newArr;
}
console.log(sortedArrays);
}
Я ожидаю, что он будет соответствовать желаемому выводу HackerRank.