更新于 2020 年 5 月 2 日 11:32:16
172 次查看
假设我们有两个整数 n 和 start。我们的任务是返回 (0, 1, 2....., 2^n -1) 的任意排列 p,如下所示:-p[0] = startp[i] 和 p[i+1] 在它们的二进制表示中仅相差一位。p[0] 和 p[2^n -1] 也必须在它们的二进制表示中仅相差一位。所以如果输入类似于 n = 2 和 start = 3,则返回的数组将为 [3, 2, 0, 1],这些是 [11, 10, 00, 01]要解决此问题,我们将遵循以下步骤:-ans 是一个数组对于 i 范围从 0 到 2^n插入 start XOR i XOR ... 阅读更多