89. Gray Code(第十四周)
2017-06-05 15:27
211 查看
分析:
本题要求即为输出格雷码,生成n位格雷码,共计有2^n个。
二进制数转格雷码
(假设以二进制为0的值做为格雷码的0)
G:格雷码 B:二进制码
G(N) = (B(n)/2) XOR B(n)
代码如下:
class Solution
{
public:
vector<int> grayCode(int n)
{
vector<int> v;
for(int i = 0; i < 1 << n; ++ i)
v.push_back(i ^ i >> 1);
return v;
}
};
相关文章推荐
- C++第十四周报告2
- 第十四周实验报告2
- 第十四周实验报告3
- C++程序设计实验报告(七十三)---第十四周任务一
- 第十四周实验报告2
- 第十四周实验报告一
- 第十四周上机项目1:数组大折腾
- 第十四周项目4 数组的排序
- 2013 第十四周 修改程序
- 2013第十四周上机任务【项目2 抽象Shape类】
- 第十四周任务二 shape虚函数继承
- 第十四周项目三:抽象类CSolid
- 第十四周项目一: 冒泡排序
- 第十四周项目一-数组大折腾任务2
- 第十四周 项目4--数组的排序
- 第十四周 统计大小写字母的个数
- 第十四周——字符串统计
- 第十四周 选择排序 冒泡排序打混编
- 第十四周项目2-形状类族的中的纯虚函数
- 第十四周项目2-形状类族的中的纯虚函数