LeetCode Gray Code
2014-08-21 22:16
363 查看
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
gray code sequence is:
Note:
For a given n, a gray code sequence is not uniquely defined.
For example,
to the above definition.
For now, the judge is able to judge based on one instance of gray code sequence. Sorry about that.
要求 n == 0 时,返回 0, 有点奇怪。
class Solution {
public:
vector<int> grayCode(int n) {
vector<int> ivec = { 0 };
if (n <= 0)
return ivec;
ivec.push_back(1);
int num = 1;
for (int i = 1; i < n; i++) {
num *= 2;
for (int j = ivec.size() - 1; j >= 0; j--) {
ivec.push_back(ivec[j] + num);
}
}
return ivec;
}
};
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.
要求 n == 0 时,返回 0, 有点奇怪。
class Solution {
public:
vector<int> grayCode(int n) {
vector<int> ivec = { 0 };
if (n <= 0)
return ivec;
ivec.push_back(1);
int num = 1;
for (int i = 1; i < n; i++) {
num *= 2;
for (int j = ivec.size() - 1; j >= 0; j--) {
ivec.push_back(ivec[j] + num);
}
}
return ivec;
}
};
相关文章推荐
- Leetcode Gray Code
- LeetCode OJ Gray Code
- LeetCode Gray Code
- Leetcode Gray Code
- leetcode——Gray Code
- Gray Code -- leetcode
- LeetCode Gray Code
- leetcode — gray-code
- Gray Code leetcode java
- LeetCode Gray Code
- Gray Code Leetcode Python
- LeetCode Gray Code
- [LeetCode][JavaScript]Gray Code
- leetcode---gray-code---dp
- [leetcode]Gray Code @ Python
- leetcode Gray Code
- LeetCode 89: Gray Code Generator
- leetcode Gray Code(不是自己做的)
- LeetCode Gray Code
- LeetCode Gray Code