leetcode练习 格雷编码

server/2024/11/15 0:35:09/

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

思路:

对于n位二进制码,从右到左,以0到n-1编号,如果二进制码的第i位和第i+1位相同,则格雷码的第i位为0;否则为1

class Solution {
public:vector<int> grayCode(int n) {vector<int> res;int size=pow(2,n);for(int i=0;i<size;i++){res.push_back(i^(i>>1));}return res;}
};


http://www.ppmy.cn/server/119179.html

相关文章

CSP-J 计算机网络

文章目录 前言计算机网络的定义计算机网络的发展计算机网络的主要功能计算机网络的分类按网络地理范围分类按网络拓扑结构分类 OSI模型与TCP/IP模型OSI模型TCP/IP模型OSI模型与TCP/IP模型的网络协议及功能 IP地址域名1. **通用顶级域名&#xff08;gTLD&#xff0c;Generic Top…

栈和队列的算法题目(C语言)

1. 括号匹配问题 20. 有效的括号 - 力扣&#xff08;LeetCode&#xff09; 利用栈后入先出的特性解题 1.判断字符串是否为空 为空返回 2.创建栈&#xff0c;遍历字符串 第一个字符是左括号的情况&#xff1a;入栈->继续遍历下一个字符 第一个字符是右括号的情况&#xf…

论文内容分类与检测系统源码分享

论文内容分类与检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Comput…

as 类型断言

这里说下我的感觉&#xff0c;name as string就类似于 name:string sgje 和这里的 :string 一样的 只是他在定义之前没有明确的定义类型 name sgje 在调用函数使用的时候 name.indexof(8) 使用 // 使用尖括号语法进行类型断言 const index1 (<string>name).inde…

git pull的merge和rebase模式

git pull 命令用于将远程仓库的更改拉取到本地仓库&#xff0c;并合并到当前分支中。git pull 默认使用合并&#xff08;merge&#xff09;模式&#xff0c;但也可以选择使用变基&#xff08;rebase&#xff09;模式。 Merge 模式&#xff08;默认模式&#xff09; git pull …

Leetcode 144. 二叉树的前序遍历(Easy)

给你二叉树的根节点 root &#xff0c;返回它节点值的 前序 遍历。 示例 1&#xff1a; 输入&#xff1a;root [1,null,2,3] 输出&#xff1a;[1,2,3] 解释&#xff1a; 示例 2&#xff1a; 输入&#xff1a;root [1,2,3,4,5,null,8,null,null,6,7,9] 输出&#xff1a;[…

鸿蒙OpenHarmony【轻量系统芯片移植案例】标准系统方案之扬帆移植案例

标准系统方案之扬帆移植案例 ​ 本文章是基于瑞芯微RK3399芯片的yangfan开发板&#xff0c;进行标准系统相关功能的移植&#xff0c;主要包括产品配置添加&#xff0c;内核启动、升级&#xff0c;音频ADM化&#xff0c;Camera&#xff0c;TP&#xff0c;LCD&#xff0c;WIFI&a…

PostgresML:通过 PostgreSQL 集成简化 AI 模型部署

在大数据和人工智能 (AI) 时代,有效管理和部署机器学习 (ML) 模型对于旨在利用数据驱动型洞察的企业至关重要。PostgresML 是一个开创性的框架,可将 ML 模型部署直接无缝集成到 PostgreSQL 中,PostgreSQL 是一个广泛使用的开源关系数据库管理系统。这种集成有助于在数据…