n 位格雷码序列 是一个由 2n 个整数组成的序列,其中:
每个整数都在范围 [0, 2n - 1] 内(含 0 和 2n - 1)
第一个整数是 0
一个整数在序列中出现 不超过一次
每对 相邻 整数的二进制表示 恰好一位不同 ,且
第一个 和 最后一个 整数的二进制表示 恰好一位不同
给你一个整数 n ,返回任一有效的 n 位格雷码序列 。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/gray-code

例:

输入:n = 2
输出:[0,1,3,2]
解释:
[0,1,3,2] 的二进制表示是 [00,01,11,10] 。
- 00 和 01 有一位不同
- 01 和 11 有一位不同
- 11 和 10 有一位不同
- 10 和 00 有一位不同
[0,2,3,1] 也是一个有效的格雷码序列,其二进制表示是 [00,10,11,01] 。
- 00 和 10 有一位不同
- 10 和 11 有一位不同
- 11 和 01 有一位不同
- 01 和 00 有一位不同

解析:

将格雷编码对称翻转然后加上2^(n-1),会发现两组数据首尾只有一位不同,利用这个规律进行编写即可。

class Solution(object):def grayCode(self, n):""":type n: int:rtype: List[int]"""res = [0, 1]if n == 1:return resfor i in range(1, n):sum = list(reversed(res))  # 翻转for item in sum:item += 2**i  # 加上2^(n-1)res.append(item)  # 将增加后的值加入到格雷编码中return res

格雷编码Python解法相关推荐

  1. 89. 格雷编码 Python

    文章目录 一.题目描述 示例 1 示例 2 二.代码 三.解题思路 一.题目描述 n 位格雷码序列 是一个由 2n 个整数组成的序列,其中: 每个整数都在范围 [0, 2^n - 1] 内(含 0 和 ...

  2. Leetcode 中等:89.格雷编码

    题目:格雷编码 题号:89 难度:中等 https://leetcode-cn.com/problems/gray-code/ n 位格雷码序列 是一个由 $2^n$ 个整数组成的序列,其中: 每个整 ...

  3. 华为机试python编程题_牛客网华为机试题之Python解法

    牛客网华为机试题之Python解法 第1题 字符串最后一个单词的长度 a = input().split(" ") print(len(a[-1])) 第2题 计算字符个数 a = ...

  4. LeetCode实战:格雷编码

    背景 为什么你要加入一个技术团队? 如何加入 LSGO 软件技术团队? 我是如何组织"算法刻意练习活动"的? 为什么要求团队的学生们写技术Blog 题目英文 The gray co ...

  5. LeetCode 111. Minimum Depth of Binary Tree--Java, Python解法--二叉树最小高度--迭代,递归

    题目地址:Minimum Depth of Binary Tree - LeetCode Given a binary tree, find its minimum depth. The minimu ...

  6. LeetCode 226. Invert Binary Tree--反转二叉树--C++,Python解法--递归,迭代做法

    题目地址:Invert Binary Tree - LeetCode Invert a binary tree. Example: Input: 4/ \2 7/ \ / \ 1 3 6 9 Outp ...

  7. LeetCode 204. Count Primes--从一开始的质数个数--Python解法--面试算法题

    题目地址:Count Primes - LeetCode Count the number of prime numbers less than a non-negative number, n. E ...

  8. LeetCode 458. Poor Pigs--智力题「小白鼠试毒」--C++,Python解法

    题目地址:Poor Pigs - LeetCode There are 1000 buckets, one and only one of them is poisonous, while the r ...

  9. LeetCode 230. Kth Smallest Element in a BST--C++,Python解法--面试真题--找二叉树中第K小的元素

    题目地址:Kth Smallest Element in a BST - LeetCode Given a binary search tree, write a function kthSmalle ...

最新文章

  1. axios解决调用后端接口跨域问题
  2. 6.1 从分析到设计
  3. 微型计算机物理地址转换,微型计算机及接口技术2015年4月真题试题(04732)
  4. Python机器学习:线型回归法05衡量线性回归法的指标MES,RMS,MAE
  5. php mui.picker,www MUI框架里边有很多例子教你如何使用 开发手机界面 WEB(ASP,PHP,...) 251万源代码下载- www.pudn.com...
  6. bootstrap php 多行,使用PHP循环将Bootstrap行和正确的列号添加到元素
  7. rn webview加载本地静态html,React Native - Webview 加载本地文件
  8. git由于网络原因导致 please make sure you have the correct access rights and the repository exists
  9. php adodb使用,ADODB类使用_PHP教程
  10. .Net中消除Dll中的dependency
  11. 解读神书《凤凰项目》,带你跳出DevOps转型的所有坑
  12. JS调用OCX控件过程
  13. linux 命令 cups,linux cups 打印机命令说明
  14. Python模块——标准库\开源模块\自定义模块
  15. AI视觉千亿规模市场虚席以待 初创企业看好“算法决定芯片”路径
  16. 不平衡处理(数据层面)
  17. Go微服务架构实战 中篇:6. 微服务治理策略
  18. 学校的友宝自动售货机出故障 不知什么系统呵
  19. 教你一招快速清理DNS缓存
  20. Excel提取插入的PPT对象

热门文章

  1. 给 ABAP ALV 报表的数据行增添颜色效果试读版
  2. 如何创建最简单的 ABAP 数据库表,以及编码从数据库表中读取数据 (下)
  3. 内容分发网络 CDN 是如何提高网页加载时间的?
  4. SAP OData 的 V2 模型
  5. SAP Spartacus的SkipLink功能
  6. 关于SAP Commerce Cloud CORS policy的设置问题
  7. Angular form学习笔记
  8. 微信开发系列之十 - 在SAP C4C接收微信发送过来的服务请求回应
  9. Dockerfile里的VOLUMES关键字
  10. 源于 Node.js的HTML 模板引擎Jade的一个hello world项目