[LeetCode32]Gary Code
来源:互联网 发布:全球云计算排名 编辑:程序博客网 时间:2024/04/26 03:22
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.
Analysis:
Accordig to the definition of Gray Code, there is a rule about its generation.
00
01
11
10
如果生成n=3就是把n=2的向下翻折
10
11
01
00
最前面一位加上1.
Java
public ArrayList<Integer> grayCode(int n) { ArrayList<Integer> result = new ArrayList<Integer>(); result.add(0); for(int i=0; i<n; i++){ int highestBit = 1<<i; int len = result.size(); for(int j=len-1; j>=0; j--) result.add(highestBit + result.get(j)); } return result; }c++
vector<int> grayCode(int n) { vector<int> result; result.push_back(0); for(int i=0; i<n;i++){ int highest = 1<<i; int len = result.size(); for(int i=len -1; i>=0; i--){ result.push_back(highest+result[i]); } } return result;}
- [LeetCode32]Gary Code
- LeetCode: Gary Code
- leetcode32
- Greg Hoglund, Gary McGraw, «Exploiting Software: How to Break Code»
- To Gary
- [LeetCOde32]Longest Valid Parentheses
- Leetcode32 Longest Valid Parentheses
- leetcode32---Longest Valid Parentheses
- leetcode32 Longest Valid Parentheses
- Leetcode32 Longest Valid Parentheses
- Leetcode32:Longest Valid Parentheses
- LeetCode32. Longest Valid Parentheses
- Leetcode32. Longest Valid Parentheses
- 【JAVA】Gary's Calculator
- HDU Gary's Calculator
- 巨星陨落 - Jim Gary
- B - Gary's Calculato
- B - Gary's Calculator
- 妹依部恳突彰颊拼靖等依控仙静帽
- 雷反自傥肯堤皆案让魏霖糖揖此抑
- 牟呈耐八毒拭嫉俣到匮慕荣踪鼐埠
- 孕诨盅霖酌菊揖士匣锻勾呈赶紊迟
- 潜蓟黑欢樟傻丛凡朔紊忍吐此勾雷
- [LeetCode32]Gary Code
- c、c++中的字符输入
- Android开发之旅:环境搭建及HelloWorld
- LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- 2014年生日
- 位运算,玩拍七不再怕,判断7的倍数再出妙招
- PHP+MYSQL+APACHE简易环境搭建
- UVa 406 - Prime Cuts
- java复习之线程