列出 1、2、3 加起来等于 4 的所有方式,顺序很重要。例如,[1, 1, 1, 1]是一种方式。[1,1,2]不同于[1,2,1]
我已经在纸上找到了一种工作方式。但我仍然无法为其编写代码。请帮忙,请查看这张我的想法的图片以确保清晰。
我写的这段代码失败了。但这就是我已经走了多远。
function theseAddToSum(steps = [], sum) {
let results = [];
if (steps.length < 1) return 'error'
for (let i = 0; i < steps.length; i++) {
let cur = steps[i];
let remaining = sum - cur;
if (remaining >= 0) {
console.log('sum', sum, 'step', cur)
let c = theseAddToSum(steps, remaining)
}
}
return results
}
console.log(theseAddToSum([1, 2, 3], 4))Run Code Online (Sandbox Code Playgroud)
正如我一样console.log('sum', sum, 'step', …