leetcode #89 in cpp
来源:互联网 发布:origin软件使用教程 编辑:程序博客网 时间:2024/06/05 16:50
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 - 001 - 111 - 310 - 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.
Solution:
https://en.wikipedia.org/wiki/Gray_code
Check the section of constructing an n-bit gray code.
Code:
class Solution {public: vector<int> grayCode(int n) { if(n==0) return vector<int>{0}; vector<int> res; vector<int> codes = grayCode(n-1); //append 0 for(int i = 0; i < codes.size(); i ++) res.push_back(codes[i] + (0<<(n-1))); //append 1 for(int i = codes.size()-1; i >=0; i--){ res.push_back(codes[i] + (1<<(n-1))); } return res; } };
0 0
- leetcode #89 in cpp
- leetcode #12 in cpp
- Leetcode #13 in cpp
- Leetcode #14 in cpp
- leetcode %15 in cpp
- leetcode #16 in cpp
- leetcode #17 in cpp
- leetcode #18 in cpp
- leetcode #20 in cpp
- leetcode #21 in cpp
- leetcode #22 in cpp
- leetcode #23 in cpp
- leetcode #24 in cpp
- leetcode #25 in cpp
- leetcode #26 in cpp
- leetcode #27 in cpp
- leetcode #28 in cpp
- leetcode #29 in cpp
- leetcode #88 in cpp
- LeetCode 166. Fraction to Recurring Decimal
- 数据库的内联接、外联接
- Binary Tree Level Order Traversal II
- C/C++中读写文件
- leetcode #89 in cpp
- Symmetric Tree
- Android tablayout and toolbar
- Canvas Transformation
- 项目团队数据库版本管理及发布探索
- LeetCode--No.274--H-Index
- 网站及服务器安全的建议
- JNI - AttachCurrentThread
- C语言面试题:打印下图规律的图形