查找数字的所有可能组合以获得给定的总和-Python到Node.js

时间:2019-03-06 17:52:36

标签: javascript python node.js

有人可以帮助我将此代码转换为nodejs吗?

$this->db->group_by('id');

1 个答案:

答案 0 :(得分:1)

如果您实现自己的enumerate函数,则对现代js的转换实际上几乎是1:1。

console.log(Array.from(subsetSum([1, 2, 3, 7, 7, 9, 10], 10)))

function* subsetSum(numbers, target, partial = [], partialSum = 0) {
  if (partialSum === target) yield partial
  if (partialSum >= target) return
  
  for(const [i, n] of enumerate(numbers)) {
    yield* subsetSum(numbers.slice(i + 1), target, [...partial, n], partialSum + n)
  }
}

function* enumerate(iterable) {
  let i = 0
  for(const item of iterable) {
    yield [i++, item]
  }
}