博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Leetcode 89.格雷编码
阅读量:4577 次
发布时间:2019-06-08

本文共 450 字,大约阅读时间需要 1 分钟。

格雷编码

格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异。

给定一个代表编码总位数的非负整数 n,打印其格雷编码序列。格雷编码序列必须以 0 开头。

示例 1:

输入: 2

输出: [0,1,3,2]

解释:

00 - 0

01 - 1

11 - 3

10 - 2

 

对于给定的 n,其格雷编码序列并不唯一。

例如,[0,2,3,1] 也是一个有效的格雷编码序列。

 

00 - 0

10 - 2

11 - 3

01 - 1

 

 

这道题感觉是一个找规律的题目,找到规律后就很好求解,感觉不是一道回溯的题。

对于n=2,它的结果包括n=1时的结果左边补零,以及逆序遍历n=1时的结果左边补1,

规律如下图,列出了n=1,n=2,n=3时的情况。

 

根据这个规律如果已知n=k的情况,那么n=k+1的结果包括对n=k的结果左边补零,即保存不变,然后逆序遍历n=k的结果左边补1即可。

转载于:https://www.cnblogs.com/kexinxin/p/10163070.html

你可能感兴趣的文章
如何更改webstrom的默认端口63342
查看>>
最短路计数
查看>>
SharedPreferences
查看>>
Android性能优化方法(六)
查看>>
JQ在线引用地址
查看>>
TCP协议
查看>>
高级IO-锁与进程和文件
查看>>
uva 11795 Mega Man's Mission(动态规划-状态压缩DP)
查看>>
gc日志分析
查看>>
数据结构--栈的思想与数组实现
查看>>
javascript的构造函数和原型
查看>>
详解C#break ,continue, return
查看>>
Python如何发布程序
查看>>
java中使用session的一些细节
查看>>
浏览器输入服务器端口号来访问html网页
查看>>
hdu 6435 CSGO(最大曼哈顿距离)
查看>>
logback框架之——日志分割所带来的潜在问题
查看>>
链路追踪工具之Zipkin学习小记
查看>>
iOS中通讯录的开发
查看>>
怎么让table中的<td>内容向上对齐
查看>>