小编tha*_*hao的帖子

Javascript 列出 1、2、3 相加等于 4 的所有方式,顺序很重要。例如,[1, 1, 1, 1] 是一种方式

列出 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', …

javascript recursion

7
推荐指数
1
解决办法
667
查看次数

标签 统计

javascript ×1

recursion ×1