题目出处
题目描述
个人解法
思路:
todo
代码示例:(Java)
todo
复杂度分析
todo
官方解法
前言
关于格雷编码的知识,读者可以查阅百度百科格雷码。
方法1:归纳法
思路:
代码示例:(Java)
public class Solution1 {
public List<Integer> grayCode(int n) {
List<Integer> ret = new ArrayList<Integer>();
ret.add(0);
for (int i = 1; i <= n; i++) {
int m = ret.size();
for (int j = m - 1; j >= 0; j--) {
ret.add(ret.get(j) | (1 << (i - 1)));
}
}
return ret;
}
}
复杂度分析
方法2:公式法
思路:
代码示例:(Java)
public class Solution2 {
public List<Integer> grayCode(int n) {
List<Integer> ret = new ArrayList<Integer>();
for (int i = 0; i < 1 << n; i++) {
ret.add((i >> 1) ^ i);
}
return ret;
}
}
复杂度分析
考察知识点
收获
1.使用markdown让图片居中
2.位运算