给定包含 n 个正整数的集合,寻找非空子集满足:所有元素(按二进制位)异或的结果为零。

例如,集合 { 11, 15, 16, 17, 18, 23, 27 } 的以下子集满足条件:

  • { 11, 16, 27 }
  • { 15, 17, 18, 23, 27 }
  • { 11, 15, 16, 17, 18, 23 }

我们知道,有时间复杂度为 O(2n) 的算法可以解此题。有没有更高效的算法?