Skip to content

Instantly share code, notes, and snippets.

View xuab's full-sized avatar

Stéphane Clairbaux xuab

  • Cycle
  • Lille, France
  • 04:57 (UTC +02:00)
View GitHub Profile

Keybase proof

I hereby claim:

  • I am xuab on github.
  • I am xuab (https://keybase.io/xuab) on keybase.
  • I have a public key ASAHVKnWci1YJPfg1vOhTNrb-VKconC2vbmMdY4vTlKIyQo

To claim this, I am signing this object:

@xuab
xuab / generatronics.js
Last active August 17, 2021 12:10
JavaScript combination generators
// abc -> [], a, b, c, ab, ac, bc, abc
function* powerSet (l) {
for (let i of Array(1 << l.length).keys())
yield l.filter((_, j) => i & 1 << j)
}
// abc, 2 -> ab, ac, bc
function* kSubSets (l, k) {
if (k < 1) return yield []
for (let i of Array(l.length - k + 1).keys())