LeetCode.89 - 格雷编码
n 位格雷码序列 是一个由 2 ** n 个整数组成的序列,其中:
- 每个整数都在范围 [0, 2 ** n - 1] 内(含 0 和 2 ** n - 1)
- 第一个整数是 0
- 一个整数在序列中出现 不超过一次
- 每对 相邻 整数的二进制表示 恰好一位不同 ,且
- 第一个 和 最后一个 整数的二进制表示 恰好一位不同
给你一个整数 n ,返回任一有效的 n 位格雷码序列 。
思路
- (0) (1)
- (00 01) (11 10)
- (000 001 011 010) (110 111 101 100)
- ……
- T[i + 1] = T[i] concat T[i].reverse().map(val => val + 2 ** i)
1 | var grayCode = function (n) { |