[LeetCode] Gray Code
2015-09-16 20:42
363 查看
Gray Code My Submissions Question Solution Total Accepted: 41835
Total Submissions: 125744 Difficulty: Medium The gray code is a binary
numeral system where two successive values differ in only one bit.
Given a non-negative integer n representing the total number of bits
in the code, print the sequence of gray code. A gray code sequence
must begin with 0.
For example, given n = 2, return [0,1,3,2]. Its gray code sequence is:
00 - 0 01 - 1 11 - 3 10 - 2 Note: For a given n, a gray code sequence
is not uniquely defined.
For example, [0,2,3,1] is also a valid gray code sequence according to
the above definition.
For now, the judge is able to judge based on one instance of gray code
sequence. Sorry about that.
Show Tags Have you met this question in a real interview?
格雷码,n=3时的格雷码wei
000
001
011
010
110
111
101
格雷码的n位保留,另外n位不动,首位添加1,再逆序添加,则可以变成n+1位的格雷码。
Total Submissions: 125744 Difficulty: Medium The gray code is a binary
numeral system where two successive values differ in only one bit.
Given a non-negative integer n representing the total number of bits
in the code, print the sequence of gray code. A gray code sequence
must begin with 0.
For example, given n = 2, return [0,1,3,2]. Its gray code sequence is:
00 - 0 01 - 1 11 - 3 10 - 2 Note: For a given n, a gray code sequence
is not uniquely defined.
For example, [0,2,3,1] is also a valid gray code sequence according to
the above definition.
For now, the judge is able to judge based on one instance of gray code
sequence. Sorry about that.
Show Tags Have you met this question in a real interview?
格雷码,n=3时的格雷码wei
000
001
011
010
110
111
101
格雷码的n位保留,另外n位不动,首位添加1,再逆序添加,则可以变成n+1位的格雷码。
class Solution { public: vector<int> grayCode(int n) { vector<int> vec; vec.push_back(0); int highbit = 0; while(n--){ highbit = vec.size(); //倒叙添加高位1 for(int i = highbit-1; i>=0;--i) vec.push_back(highbit|vec[i]); } return vec; } };
相关文章推荐
- 判断闰年
- Android之自定义View以及画一个时钟
- 初识Linux
- 四、集合与泛型、委托与事件-----《大话设计模式》
- 决策树代码
- Linux内核学习(二)---Linux中的进程、线程和轻量级进程
- HDU - 2444 The Accomodation of Students(二分图判断+最大匹配)
- "Class not found: javac1.8"问题总结
- hdu 1060 Leftmost Digit
- 基因检测如何让癌症变的可预防?
- libsvm-2.84在MATLAB中使用遇到的刻骨铭心的error
- 杭电acm--2033
- 线程安全的实现延迟初始化的方案
- 【矩阵快速幂】ZOJ 2974 Just Pour the Water
- java学习之Set集合、HashSet
- MySQL(11):存储引擎
- HDU5446
- 堆排序
- SQL查询结果把两个字段拼接到一起
- java map的使用