leetcode每日一题34
89.格雷编码
观察一下n不同时的格雷编码有什么特点
n=1 [0,1]
n=2 [0,1,3,2]
n=3 [0,1,3,2,6,7,5,4]
……
可以看到n=k时,编码数量是n=k-1的数量的一倍
同时n=k编码的前半部分和n=k-1一模一样
n=k编码的最后一位是2k-1
后半部分的编码是其对应的前半部分的对称的位置的数字+2k-1
如图可以看出原理,为了增加长度后,使得隔着中轴线相邻的第2k-1位和第2k-1+1位差一位,那么就要在新增加的位上由0变1(因为前半部分出现过在原有的位上是1的编码了)
也就是数字上增加了2k-1
至于其他的位,因为按照前面的编码放置1的顺序是唯一的,所以只要在最高位都填1,然后对称着顺序来就好了
因此代码为
class Solution {
public:vector<int> grayCode(int n) {vector<int> gray;gray.push_back(0);gray.push_back(1);if(n==1)return gray;for(int i=2;i<=n;i++){for(int j=pow(2,i-1)-1;j>=0;j--){gray.push_back(gray[j]+pow(2,i-1));}}return gray;}
};
格雷编码有相当多的生成方法
还有一种,比如说G(i)=(i ^ (i >> 1))也就是G(i)=i^(i/2)
从这个图可以看出,如果二进制码字的第 i 位和 i+1 位(从右边开始数)相同,则对应的格雷码的第i位为0,否则为1(当i+1=n时,二进制码字的第n位被认为是0,即第n-1位不变)
class Solution {
public:vector<int> grayCode(int n) {vector<int> gray;for(int i=0;i<pow(2,n);i++)gray.push_back(i^i>>1);return gray;}
};
相关文章:
leetcode每日一题34
89.格雷编码 观察一下n不同时的格雷编码有什么特点 n1 [0,1] n2 [0,1,3,2] n3 [0,1,3,2,6,7,5,4] …… 可以看到nk时,编码数量是nk-1的数量的一倍 同时nk编码的前半部分和nk-1一模一样 nk编码的最后一位是2k-1 后半部分的编码是其对应的前半部分的对称的位置的数字…...
王者荣耀游戏制作
1.创建所需要的包 2.创建怪物类 bear package beast;import wangzherogyao.GameFrame;public class Bear extends Beast {public Bear(int x, int y, GameFrame gameFrame) {super(x, y, gameFrame);setImg("img/bear.jpg");width 85;height 112;setDis(65);}} b…...
springboot post添加URL添加参数
出现 MissingServletRequestParameterException: Required String parameter pageNumber is not present 异常的原因是在请求中没有提供名为 pageNumber 的参数。 请确保发送 POST 请求时,在请求的 URL 或请求体中提供了名为 pageNumber 的参数,以满足方…...
『 MySQL数据库 』插入查询结果
文章目录 🎟️ 前言🎟️ 创建一张结构相同的表🎟️ 表内插入查询结果🎫 对表内数据进行去重🎫 配合ORDER BY排序后以及LIMIT分页对数据进行插入 🎟️ 前言 在MySQL数据库中不仅可以直接根据字段类型等对数据…...
【笔记】小白学习电路维修
学习视频(b站):从0开始学电路 从0开始学电路维修 p1 黄色长方体元件P2 故障率最高的元件p3带芯铜丝线圈是什么区分电感和变压器接入电路分析: p4 交流和直流分界线整流桥接线整流桥故障判断 带色环的不一定是电阻 p1 黄色长方体元…...
linux简述进程
目录 进程 一个正在运行的程序,一个程序运行至少要启动一个进程,主进程 子进程 一个进程正常运行,至少要启动一个线程,主线程 子线程 进程的生命周期: 进程状态产生的原因: 查看当前系统的进程 ps au…...
由于设置了全局 QWidget 背景导致QT QCalendarWidget 表态背景异常
解决: 单独设置QCalendarWidget 的qss : 对象是查看源码所得 QWidget#qt_calendar_navigationbar{ ...... } QToolButton#qt_calendar_prevmonth, #qt_calendar_nextmonth, #qt_calendar_monthbutton, #qt_calendar_yearbutt…...
数据库的重要你了解多少?如何保障数据库的安全?
随着信息技术的快速发展,数据库已经成为企业、组织以及个人日常生活中不可或缺的一部分。然而,随着数据库的广泛应用,其安全性问题也日益凸显。数据库的安全性主要包括数据的完整性、保密性和可用性。本文将探讨数据库安全性的重要性、以及如…...
距离“全自动”漏洞挖掘又近了一步!腾讯安全大数据实验室论文入选ACM CCS 2023
计算机领域国际权威学术顶会ACM CCS 2023于11月26日在丹麦哥本哈根开幕。腾讯安全大数据实验室团队论文《Hopper: Interpretative Fuzzing for Libraries》被大会收录,昨天,实验室研究员谢雨轩受邀出席大会进行主题分享。 该论文提出了解释性模糊测试&a…...
docker搭建rabbit集群
1.去rabbitMQ官网拉去images 我当前使用的是最新版本的镜像:rabbitmq:3.12-management 2.创建一个集群专用网络 docker的容器相互隔离是不可通信的,我们自行创建一个网络后,创建容器时 给他们放在一起,就可以通信了。 docker netw…...
西南科技大学C++程序设计实验一(C++基础知识)
目录 一、实验目的 二、实验任务 三、预习内容(复习书中前3章内容,说明C++相对于C的扩展有哪些?) 四、问题思考与讨论 一、实验目的 1.熟悉编程环境 2.掌握程序调试方法。 3.熟悉枚举类型、结构体类型等自定义数据类型的使用 4.熟悉函数的定义、说明与使用 5.熟悉引用…...
Rust内存布局
题图忘了来自哪里.. 整型,浮点型,struct,vec!,enum 本文是对 Rust内存布局 的学习与记录 struct A { a: i64, b: u64,}struct B { a: i32, b: u64,}struct C { a: i64, b: u64, c: i32,}struct D { a: i32, b: u64, c: i32, d: u64,}fn main(…...
android 12 添加菜单
1.创建一级菜单 packages\apps\Settings\res\xml\top_level_settings.xml <com.android.settings.widget.HomepagePreferenceandroid:fragment"com.android.settings.DeviceStatusSettings"android:icon"drawable/ic_settings_display_white"android:…...
Map 的 5 种遍历方式
Map 的 5 种遍历方式 强烈推荐 for-each entrySet()遍历 和 lambda 表达式遍历 ,简洁又好用!!! package com.maptest; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set;pub…...
Linux的基本指令 ( 一 )
目录 前言 Linux基本指令 快速认识五个指令 ls指令 补充内容 pwd指令 补充内容 cd指令 补充内容 重新认识指令 指令的本质 which指令 alias指令 最后 一个文件的三种时间 tree指令及安装 tree指令 前言 关于Linux操作系统的桌面,在学校教学中我们…...
【深度学习】学习率及多种选择策略
学习率是最影响性能的超参数之一,如果我们只能调整一个超参数,那么最好的选择就是它。相比于其它超参数学习率以一种更加复杂的方式控制着模型的有效容量,当学习率最优时,模型的有效容量最大。本文从手动选择学习率到使用预热机制…...
具有“真实触感”的动捕数据手套mhand pro,提供更精确的动作捕捉
随着人工智能的普及和万物互联,vr虚拟技术备受关注,为了更加真实的虚拟现实交互体验,动捕数据手套的使用逐渐普及,vr手套可以实时采集各手指关节运动数据,使用动捕数据手套可以在虚拟现实的场景中实现对真实手部运动的…...
Mongodb使用killCursors停止运行的cursor
cursor指向查询结果的游标,通过游标向下移动,获得下一条查询结果。MongoDB分批向用户返回数据结果。通过游标的移动, mongodb确定当前返回结果的位置,是否要加载更多数据到内存当中。cursor有默认的超时时间, 超时后cu…...
电脑风扇转一下停一下,无法正常开机问题解决
今天同事电话说电脑开不了机了,只听见风扇不停地呜呜地作响。笔者第一反应是不是硬件哪里出问题了,于是二话没说拿起心爱的螺丝刀就闪了过去。 按下电源,确实如电话所述。但感觉风扇并非一直在转,而是时断时续。由于听不大真切&a…...
无需部署服务器,如何结合内网穿透实现公网访问导航页工具Dashy
文章目录 简介1. 安装Dashy2. 安装cpolar3.配置公网访问地址4. 固定域名访问 简介 Dashy 是一个开源的自托管的导航页配置服务,具有易于使用的可视化编辑器、状态检查、小工具和主题等功能。你可以将自己常用的一些网站聚合起来放在一起,形成自己的导航…...
OpenClaw多模态探索:千问3.5-9B处理图文混合任务
OpenClaw多模态探索:千问3.5-9B处理图文混合任务 1. 为什么需要多模态自动化助手 上周我在整理技术文档时遇到一个典型问题:需要根据包含屏幕截图和文字描述的故障报告,编写对应的排查步骤。手动在截图和文本之间来回切换,既低效…...
一键部署你的私人知识大脑:MindMap + Docker Compose 极速搭建指南
1. 为什么你需要一个私人知识大脑? 不知道你有没有这样的经历:电脑里存了几百个PDF文档,收藏夹里塞满了网页链接,手机相册里全是截图的知识点,但要用的时候死活找不到。更糟心的是,有些在线笔记工具突然收费…...
Kylin V10系统下KVM虚拟化实战:从环境配置到虚拟机部署
1. Kylin V10系统与KVM虚拟化基础 国产麒麟操作系统V10作为一款基于Linux内核的自主可控系统,在企业级应用中越来越常见。最近我在一个国产化服务器迁移项目中,需要在Kylin V10上部署KVM虚拟化环境,过程中积累了不少实战经验。KVM作为Linux内…...
Qwen3-14B系统优化指南:解决C盘空间清理与系统性能问题
Qwen3-14B系统优化指南:解决C盘空间清理与系统性能问题 1. 引言:Windows用户的共同烦恼 "您的C盘空间不足"——这个弹窗可能是Windows用户最不愿看到的提示之一。随着使用时间增长,系统盘空间被各种临时文件、日志和冗余程序蚕食…...
django基于深度学习的淘宝用户购物可视化与行为预测系统设计_3jf982vi_c024
前言在数字经济 与电商行业高速发展的背景下,传统商品销售行业面临数据处理滞后、决策缺乏科学依据等挑战。企业依赖人工统计与经验判断的方式,难以应对海量交易数据带来的复杂性,导致资源配置效率低下、市场竞争力下降。本系统基于Python、D…...
Noise2Noise 去噪程序完整运行指南:从环境配置到模型部署
Noise2Noise 去噪程序完整运行指南:从环境配置到模型部署 摘要 本文旨在为深度学习研究者和开发者提供一份完整、详尽的 Noise2Noise 去噪程序运行指南。Noise2Noise(噪声到噪声)是由 NVIDIA 研究团队在 ICML 2018 发表的一种突破性图像恢复方法,其核心创新在于仅使用带噪…...
[渗透教程]-024-Hashcat密码破解(仅供学习)
Hashcat 简介 Hashcat 自称是世界上最快的密码恢复工具。它在2015年之前拥有专有代码库,但现在作为免费软件发布。适用于 Linux,OS X 和 Windows 的版本可以使用基于 CPU 或基于 GPU 的变体。支持 hashcat 的散列算法有 Microsoft LM hash,MD4,MD5,SHA 系列,Unix 加密格…...
打字不如说话,说话不如截图——AI 代码助手的多模态输入实践偈
整体排查思路 我们的目标是验证以下三个环节是否正常: 登录成功时:服务器是否正确生成了Session并返回了包含正确 JSESSIONID的Cookie给浏览器。 浏览器端:浏览器是否成功接收并存储了该Cookie。 后续请求:浏览器在执行查询等操作…...
山西太原传媒艺考评价榜第 1 名
在山西太原,艺天影视培训学校凭借其卓越的教学质量和丰富的行业资源,连续多年稳居传媒艺考评价榜榜首。本文将从师资力量、教学体系、硬件设施以及升学成果四个方面,详细解读艺天影视培训学校的成功之道,并为有志于传媒艺术的学子…...
VsCode插件避坑指南:我为什么卸载了这些热门插件(附替代方案)
VSCode插件避坑指南:我为什么卸载了这些热门插件(附替代方案) 第一次打开VSCode的插件市场时,那种感觉就像走进了一家琳琅满目的糖果店——每个插件都包装精美,下载量动辄百万,五星好评如潮。但当我真正开始…...
