leetcode Gray Code 格雷码
2014-07-29 15:14
239 查看
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.
// 把binary code直接转为gray code:
// Binary Code :1011 要转换成Gray Code
// 1011 = 1(照写第一位), 1(第一位与第二位异或 1^0 = 1), 1(第二位异或第三位, 0^1=1), 0 (1^1 =0) = 1110
// 其实就等于 (1011 >> 1) ^ 1011 = 1110
class Solution {
public:
vector<int> grayCode(int n) {
vector<int> res;
for(int i = 0;i<(1<<n);i++) {
res.push_back((i>>1)^i);
}
return res;
}
};
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.
// 把binary code直接转为gray code:
// Binary Code :1011 要转换成Gray Code
// 1011 = 1(照写第一位), 1(第一位与第二位异或 1^0 = 1), 1(第二位异或第三位, 0^1=1), 0 (1^1 =0) = 1110
// 其实就等于 (1011 >> 1) ^ 1011 = 1110
class Solution {
public:
vector<int> grayCode(int n) {
vector<int> res;
for(int i = 0;i<(1<<n);i++) {
res.push_back((i>>1)^i);
}
return res;
}
};
相关文章推荐
- LeetCode | Gray Code(格雷码)
- LeetCode 89. Gray Code(生成格雷码)
- leetcode89-Gray Code(格雷码)
- LeetCode 89: Gray Code 格雷码
- 【LeetCode-面试算法经典-Java实现】【089-Gray Code(格雷码)】
- [LeetCode] 格雷码(Gray Code)
- [LeetCode] 89. Gray Code 格雷码
- [LeetCode 89] Gray Code (格雷码问题)
- leetCode 89.Gray Code (格雷码) 解题思路和方法
- Gray Code (格雷码编码) 【leetcode】
- LeetCode_89_Gray Code 格雷码
- [C++]LeetCode: 86 Gray Code (格雷码)
- [LeetCode]—Gray Code 计算格雷码
- [leetcode 89] Gray Code---实现格雷码
- LeetCode-Gray Code(格雷码)
- leetCode 89.Gray Code (格雷码) 解题思路和方法
- Leetcode 89. Gray Code 格雷码 解题报告
- LeetCode 89. Gray Code(格雷码)
- [leetcode](Gray Code 格雷码 C语言实现)
- [Leetcode] Gray code 格雷码