当前位置:网站首页>【日常训练--腾讯精选50】89. 格雷编码(看题解才会的)
【日常训练--腾讯精选50】89. 格雷编码(看题解才会的)
2022-07-05 21:03:00 【Puppet__】
题目
n 位格雷码序列 是一个由 2n 个整数组成的序列,其中:
每个整数都在范围 [0, 2n - 1] 内(含 0 和 2n - 1)
第一个整数是 0
一个整数在序列中出现 不超过一次
每对 相邻 整数的二进制表示 恰好一位不同 ,且
第一个 和 最后一个 整数的二进制表示 恰好一位不同
给你一个整数 n ,返回任一有效的 n 位格雷码序列 。
示例 1:
输入: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
输出:[0,1]
提示:
1 <= n <= 16
代码
package tencent50;
import java.util.ArrayList;
import java.util.List;
public class leetcode89 {
// 感觉是背答案的题...
// 关键是弄清楚格雷编码的生成过程格雷编码的生成过程 G(i) = i ^ (i / 2)
public List<Integer> grayCode(int n) {
List<Integer> ansList = new ArrayList<>();
// 区间是[0,2^n)
for (int i = 0; i < 1<<n; i++){
ansList.add(i ^ i>>1);
}
return ansList;
}
public static void main(String[] args) {
leetcode89 obj = new leetcode89();
System.out.println(obj.grayCode(2));
}
}
边栏推荐
- 驱动壳美国测试UL 2043 符合要求有哪些?
- Monorepo管理方法论和依赖安全
- js常用方法封装
- Using webassembly to operate excel on the browser side
- 研学旅游实践教育的开展助力文旅产业发展
- bazel是否有学习的必要
- Learning robots have no way to start? Let me show you the current hot research directions of robots
- 序列联配Sequence Alignment
- Abnova CRISPR spcas9 polyclonal antibody protocol
- vant 源码解析 之深层 合并对象 深拷贝
猜你喜欢

Duchefa cytokinin dihydrozeatin (DHZ) instructions

Influence of oscilloscope probe on measurement bandwidth

Talk about my fate with some programming languages

2.<tag-哈希表, 字符串>补充: 剑指 Offer 50. 第一个只出现一次的字符 dbc

EN 438-7建筑覆盖物装饰用层压板材产品—CE认证

显示器要申请BS 476-7 怎么送样?跟显示屏一样吗??

PHP deserialization +md5 collision

The development of research tourism practical education helps the development of cultural tourism industry

MySQL 千万数据量深分页优化, 拒绝线上故障!

haas506 2.0开发教程 - 阿里云ota - pac 固件升级(仅支持2.2以上版本)
随机推荐
Abnova CD81 monoclonal antibody related parameters and Applications
The reason why the ncnn converted model on raspberry pie 4B always crashes when called
Generics of TS
Abnova cyclosporin a monoclonal antibody and its research tools
珍爱网微服务底层框架演进从开源组件封装到自研
教你自己训练的pytorch模型转caffe(一)
Pytoch practice -- MNIST dataset handwritten digit recognition
vant 源码解析 event.ts 事件处理 全局函数 addEventListener详解
sql系列(基础)-第二章 限制和排序数据
Interpreting the daily application functions of cooperative robots
Clear app data and get Icon
解析五育融合之下的steam教育模式
ts 之 泛型
基于flask写一个接口
Clion-MinGW编译后的exe文件添加ico图标
Material Design组件 - 使用BottomSheet展现扩展内容(二)
中国的软件公司为什么做不出产品?00后抛弃互联网;B站开源的高性能API网关组件|码农周刊VIP会员专属邮件周报 Vol.097
MYSQL IFNULL使用功能
Specification of protein quantitative kit for abbkine BCA method
R语言【数据管理】