格雷编码Python解法
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解法相关推荐
- 89. 格雷编码 Python
文章目录 一.题目描述 示例 1 示例 2 二.代码 三.解题思路 一.题目描述 n 位格雷码序列 是一个由 2n 个整数组成的序列,其中: 每个整数都在范围 [0, 2^n - 1] 内(含 0 和 ...
- Leetcode 中等:89.格雷编码
题目:格雷编码 题号:89 难度:中等 https://leetcode-cn.com/problems/gray-code/ n 位格雷码序列 是一个由 $2^n$ 个整数组成的序列,其中: 每个整 ...
- 华为机试python编程题_牛客网华为机试题之Python解法
牛客网华为机试题之Python解法 第1题 字符串最后一个单词的长度 a = input().split(" ") print(len(a[-1])) 第2题 计算字符个数 a = ...
- LeetCode实战:格雷编码
背景 为什么你要加入一个技术团队? 如何加入 LSGO 软件技术团队? 我是如何组织"算法刻意练习活动"的? 为什么要求团队的学生们写技术Blog 题目英文 The gray co ...
- 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 ...
- 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 ...
- LeetCode 204. Count Primes--从一开始的质数个数--Python解法--面试算法题
题目地址:Count Primes - LeetCode Count the number of prime numbers less than a non-negative number, n. E ...
- LeetCode 458. Poor Pigs--智力题「小白鼠试毒」--C++,Python解法
题目地址:Poor Pigs - LeetCode There are 1000 buckets, one and only one of them is poisonous, while the r ...
- 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 ...
最新文章
- axios解决调用后端接口跨域问题
- 6.1 从分析到设计
- 微型计算机物理地址转换,微型计算机及接口技术2015年4月真题试题(04732)
- Python机器学习:线型回归法05衡量线性回归法的指标MES,RMS,MAE
- php mui.picker,www MUI框架里边有很多例子教你如何使用 开发手机界面 WEB(ASP,PHP,...) 251万源代码下载- www.pudn.com...
- bootstrap php 多行,使用PHP循环将Bootstrap行和正确的列号添加到元素
- rn webview加载本地静态html,React Native - Webview 加载本地文件
- git由于网络原因导致 please make sure you have the correct access rights and the repository exists
- php adodb使用,ADODB类使用_PHP教程
- .Net中消除Dll中的dependency
- 解读神书《凤凰项目》,带你跳出DevOps转型的所有坑
- JS调用OCX控件过程
- linux 命令 cups,linux cups 打印机命令说明
- Python模块——标准库\开源模块\自定义模块
- AI视觉千亿规模市场虚席以待 初创企业看好“算法决定芯片”路径
- 不平衡处理(数据层面)
- Go微服务架构实战 中篇:6. 微服务治理策略
- 学校的友宝自动售货机出故障 不知什么系统呵
- 教你一招快速清理DNS缓存
- Excel提取插入的PPT对象
热门文章
- 给 ABAP ALV 报表的数据行增添颜色效果试读版
- 如何创建最简单的 ABAP 数据库表,以及编码从数据库表中读取数据 (下)
- 内容分发网络 CDN 是如何提高网页加载时间的?
- SAP OData 的 V2 模型
- SAP Spartacus的SkipLink功能
- 关于SAP Commerce Cloud CORS policy的设置问题
- Angular form学习笔记
- 微信开发系列之十 - 在SAP C4C接收微信发送过来的服务请求回应
- Dockerfile里的VOLUMES关键字
- 源于 Node.js的HTML 模板引擎Jade的一个hello world项目