LeetCode----Gray Code
来源:互联网 发布:python 接口测试框架 编辑:程序博客网 时间:2024/04/28 13:36
Gray Code
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.
分析:
按照题目的要求生成格雷码。一开始并没有理解格雷码的规律,百度后,使用异或方式可以直接将二进制转换成对应的格雷码。
代码:
class Solution(object): def grayCode(self, n): """ :type n: int :rtype: List[int] """ if not n: return [0] res = [] for a in range(2 << (n - 1)): res.append(a ^ (a >> 1)) return res
0 0
- LeetCode: Gray Code
- [LeetCode] 格雷码(Gray Code)
- LeetCode Gray Code
- [Leetcode] Gray Code
- [LeetCode] Gray Code
- leetcode 112: Gray Code
- LeetCode Gray Code
- [leetCode] Gray Code
- [LeetCode]Gray Code
- Leetcode: Gray Code
- [leetcode]Gray Code
- LeetCode-Gray Code
- [leetcode] Gray Code
- LeetCode - Gray Code
- leetcode之Gray code
- LeetCode:Gray Code
- 【转载】【leetcode】Gray Code
- LeetCode - Gray Code
- 使用NSUserDefaults保存用户名和密码
- HDU 5500
- Tomcat集群方案
- 【python】通讯录制作
- intellij idea 高级用法之:集成JIRA、UML类图插件、集成SSH、集成FTP、Database管理
- LeetCode----Gray Code
- iOS深入学习(Block全面分析)
- Cg silhouette enhancement
- 在UIView中绘制直线、矩形、三角形
- ssh安装和免密码登陆设置
- 用递归方法删除文件夹目录及文件
- UIImageView动画 上推下拉动画 ImageView复用
- linux内核内存管理学习之二(物理内存管理--伙伴系统)
- Java多线程——线程状态