вопрос leetcode является:Комбинации Сумма III на Leetcode
Найти все возможные комбинации к числам, которые добавляют до числа п, учитывая, что можно использовать только цифры от 1 до 9, и каждая комбинация должна быть уникальный набор чисел.
Пример 1:
Входной сигнал: K = 3, п = 7
Выход:
[[1,2,4]]
Пример 2:
Вход: k = 3, n = 9
Выход:
[[1,2,6], [1,3,5], [2,3,4]]
я найти решение в Javascript
var combinationSum3 = function(k, n) {
var result = [];
search(1, [], k, n);
return result;
function search(from, prefix, k, n) {
if (k === 0 && n === 0) return result.push(prefix);
if (from > 9) return;
prefix.push(from);
search(from + 1, prefix.slice(0), k - 1, n - from);
prefix.pop();
search(from + 1, prefix.slice(0), k, n);
}
};
Я полагаю, slice (0) возвращает копию исходного массива, поэтому я пытаюсь заменить префикс.slice (0) префиксом. Однако я получаю результат [[]]. В чем проблема?
@AnotherGeek Я не понимаю ваши слова. В консоли Chrome результат: [[]]. Ответ Нины хорошо объясняет. –