数据结构----异或
数据结构----异或
一.何处用到了异或
1. ==运算符
== //判断是否相同 用到了异或,看异或结果如果是0就是相同,不是0就是不同//注意:== 不能给小数用,小数没有相等的概念,所以小数判断是否相同都是进行相减判断
2.找一堆数中只出现一次(奇数次)的数字
前提:最多有两个只出现一次(奇数次)的数字
3.内存清零
自己异或自己
4.交换
不用第三个变量进行交换的方法
//加减法
int a;
int b;a=a+b;
b=a-b;
a=a-b;
//异或
int a;
int b;if(a^b){//先判断是否相同,相等的话就不换了
a=a^b;
b=a^b;
a=a^b;
}
二.不用“+ - * /”实现加法
方法:
1.两个数先异或 (得到的是不进位的数)
2.两个数再相与 (得到的是进位的数右移一位的数,所以下一步要进行左移)
3.相与得到的数据再进行一次左移 (得到的是进位的数)
4.将第一步和第三步获得的数从第一步继续进行操作,直到第3步获得的数为0时结束(进位为0时)
代码如下
int Add(int a, int b) {int And=0;int Xor=0;while (1) {And = a & b;Xor = a ^ b;//不进位if (!And) {return Xor;}//进位And = And << 1;a = And;b = Xor;}
}
三.格雷码(异或的应用)
//二进制
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 1
1 0 0 0
//二进制格雷码
0 0 0 0
0 0 0 1
0 0 1 1
0 0 1 0
0 1 1 0
0 1 1 1
0 1 0 1
0 1 0 0
1 1 0 0
如何从二进制转换到二进制格雷码(异或)
二进制高位(第一位)保留 获得二进制格雷码高位(第一位)
二进制第二位与二进制第一位异或 获得二进制格雷码的第二位
二进制第三位与二进制第二位异或 获得二进制格雷码的第三位
以此类推可得
如 0 0 1 0 变为 0 0 1 1
如何从二进制格雷码转换到二进制(异或)
二进制格雷码高位(第一位)保留 获得二进制高位(第一位)
二进制格雷码第二位与二进制第一位异或 获得二进制的第二位
二进制格雷码第三位与二进制第二位异或 获得二进制的第三位
以此类推可得
如 0 0 1 0 变为 0 0 1 1
看一道与格雷码知识有关的题
力扣第1611题
题目: 给你一个整数 n,你需要重复执行多次下述操作将其转换为 0 :
- 翻转
n的二进制表示中最右侧位(第0位)。 - 如果第
(i-1)位为1且从第(i-2)位到第0位都为0,则翻转n的二进制表示中的第i位。
返回将 n 转换为 0 的最小操作次数
这里的两种操作方法是格雷码的两种翻转方式
0 二进制 0 0 0 0 对应二进制格雷码 0 0 0 01 二进制 0 0 0 1 对应二进制格雷码 0 0 0 12 二进制 0 0 1 0 对应二进制格雷码 0 0 1 1 //0到1
二进制格雷码发生的就是第一次翻转方法
//1到2
二进制格雷码发生的就是第二次翻转方法 //二进制格雷码这种翻转方式是交替进行的(如上面0到1,1到2)
解题方法:1.将这个数看成是格雷码
2.将这个格雷码转换成二进制
3.根据二进制的数值写出最少操作次数
相关文章:
数据结构----异或
数据结构----异或 一.何处用到了异或 1. 运算符 //判断是否相同 用到了异或,看异或结果如果是0就是相同,不是0就是不同//注意: 不能给小数用,小数没有相等的概念,所以小数判断是否相同都是进行相减判断2.找一堆数中…...
PHP Smarty模板的语法规则是怎样的?
首先,你要知道Smarty模板是以模板格式来编写的。模板格式类似于HTML,但它的语法更加简洁明了。 以下是PHP Smarty模板的语法规则和代码例子: 变量:在Smarty模板中,你可以使用变量来显示动态内容。变量通常以“{$”符…...
Socks IP轮换:为什么是数据挖掘和Web爬取的最佳选择?
在数据挖掘和Web爬取的过程中,IP轮换是一个非常重要的概念。数据挖掘和Web爬取需要从多个网站或来源获取数据,而这些网站通常会对来自同一IP地址的请求进行限制或封锁。为了避免这些问题,数据挖掘和Web爬取过程中需要使用Socks IP轮换技术。在…...
优化|当机器学习上运筹学:PyEPO与端对端预测后优化
分享者:唐博 编者按: 这篇文章我想要写已经很久了,毕竟“端对端预测后优化”(End-to-End Predict-then-Optimize)正是我读博期间的主要研究方向,但我又一直迟迟没能下笔。想说自己杂事缠身(实…...
Cocos Creator的 Cannot read property ‘applyForce‘ of undefined报错
序: 1、博主是看了这个教程操作的时候出的bug>游戏开发 | 17节课学会如何用Cocos Creator制作3D跑酷游戏 | P9 代码控制对象移动_哔哩哔哩_bilibili 2、其实问题不是出在代码上,但是发现物体就是不平移 3、node全栈的资料》node全栈框架 正文…...
纯css实现九宫格图片
本篇文章所分享的内容主要涉及到结构伪类选择器,不熟悉的小伙伴可以了解一下,在常用的css选择器中我也有分享相关内容。 话不多说,接下来我们直接上代码: <!DOCTYPE html> <html lang"en"><head>&l…...
【MySQL】数据库的增删查改+备份与恢复
文章目录 一、创建数据库create二、数据库所使用的编码2.1 查询字符集和校验集2.2 指定编码创建数据库2.3 不同的校验集对比 三、删除数据库drop四、查看数据库show五、修改数据库alter六、数据库的备份与恢复6.1 备份 mysqldump6.2 恢复source6.3 仅备份几张表或备份多个数据库…...
Docker 部署 redis 举例
1、搜索镜像,也可以访问 https://hub.docker.com/ 搜索镜像,查看所有版本。 $ docker search redis2、拉取镜像 $ docker pull redis:5.03、启动镜像,并配置相关映射与绑定(附:Docker 常用命令与指令参数)…...
通过HandlerMethodArgumentResolver实现统一添加接口入参参数
背景:项目中有些接口的入参需要用户id信息,最简单的做法在每个Controller方法调用的时候获取登录信息然后给入参设置用户id,但是这样就会有很多重复性的工作。另一个可行的也更好的方案可以使用HandlerMethodArgumentResolver来实现。 部分示…...
JAVA-spring boot 2.4.X报错Unable to find GatewayFilterFactory with name Hystrix
网关升级spring boot项目后,启动网关报错,具体报错信息如下: 2021-12-06 09:06:25.335 ERROR 45102 --- [oundedElastic-3] reactor.core.publisher.Operators : Operator called default onErrorDropped reactor.core.Exceptions$ErrorCallback…...
运输层---UDP协议
目录 一. 无连接运输:UDP1.1 定义1.2 特点1.3 应用 二. UDP报文段结构三. UDP检验和3.1 定义3.2 检验和计算实例3.2 UDP检验和的局限 一. 无连接运输:UDP 1.1 定义 UDP(User Datagram Protocol)用户数据报协议:由 [RF…...
【LeetCode】剑指 Offer Ⅱ 第3章:字符串(7道题) -- Java Version
题库链接:https://leetcode.cn/problem-list/e8X3pBZi/ 题目解决方案剑指 Offer II 014. 字符串中的变位词双指针 数组模拟哈希表 ⭐剑指 Offer II 015. 找到字符串中所有字母异位词双指针 数组模拟哈希表 ⭐剑指 Offer II 016. 不含重复字符的最长子字符串双指针…...
【python】绘图代码模板
【python】绘图代码模板 pandas.DataFrame.plot( )画图函数Seaborn绘图 -数据可视化必备主题样式导入数据集可视化统计关系散点图抖动图箱线图小提琴图Pointplot群图 可视化数据集的分布绘制单变量分布柱状图直方图 绘制双变量分布Hex图KDE 图可视化数据集中的成对关系 好看的图…...
RTT学习笔记12-KConfig 语法学习
KConfig 语法学习 RTT 官方教程 https://www.rt-thread.org/document/site/#/development-tools/build-config-system/Kconfig 我自己写的IIC配置 menuconfig BSP_USING_I2C # I2C 菜单bool "Enable I2C BUS" # 提示I2C 菜单default n # 默认不使能I2C 菜单…...
基于Mediapipe的姿势识别并同步到Unity人体模型中
如题,由于是商业项目,无法公开源码,这里主要说一下实现此功能的思路。 人体关节点识别 基于Mediapipe Unity插件进行开发,性能比较低的CPU主机,无法流畅地运行Mediapipe,这个要注意一下。 Mediapipe33个人体…...
Linux下进程的特点与环境变量
目录 进程的特点 进程特点的介绍 进程时如何实现并发性的 进程间如何切换 概念铺设 PC指针 上下文 环境变量 PATH 修改PATH HOME SHELL env 命令行参数 什么是命令行参数? 打印命令行参数 通过函数获得环境变量 getenv 命令行参数 env 修改环境变…...
以Llama-2为例,在生成模型中使用自定义LogitsProcessor
以Llama-2为例,在生成模型中使用自定义LogitsProcessor 1. 前言2. 场景介绍3. 解决方法4. 结语 1. 前言 在上一篇文章 以Llama-2为例,在生成模型中使用自定义StoppingCriteria中,介绍了怎样在生成的过程中,使用stopping criteria…...
python 计算图片hash 缓存图片为key
python,有时希望缓存图片作为key,怎么办?缓存整张突破占用内存太多,不妨缓存hash值: Fast way to Hash Numpy objects for Caching import hashlib import numpy a numpy.random.rand(10, 100) b a.view(numpy.uin…...
制造型企业如何实现车间设备生产数据的实时采集?需要5G网络吗?
引言 在制造业数字化转型的浪潮下,实时采集车间设备生产数据变得尤为重要。工业边缘网关HiWoo Box作为一款专为工业应用而设计的智能设备,具备工业级设计和多种联网方式,为制造型企业提供了高性能的车间设备数据实时采集解决方案。本文将重点…...
第2章 HTML中的JavaScript
引言 将JavaScript引入网页,首先要解决它与网页的主导语言HTML的关系问题 script元素 将JavaScript插入HTML的主要方法是使用script元素,script有8个可选属性 async:表示异步加载js文件内容,他们之间的顺序不一定按照html顺序ch…...
PostgreSQL 17安装后必做的5件事:从安全加固到性能调优(附pg_hba.conf配置详解)
PostgreSQL 17安装后必做的5件事:从安全加固到性能调优 刚完成PostgreSQL 17的安装只是数据库旅程的第一步。要让这个强大的关系型数据库真正发挥生产级效能,还需要一系列精细化的配置。本文将带你完成五个关键步骤,从安全策略到性能参数&…...
运算放大器基础:从符号到负反馈的实战解析
1. 运算放大器基础认知 第一次接触运算放大器时,我盯着电路板上那个小小的三角形符号发愣——这玩意儿凭什么能同时处理比较和放大两种任务?后来才发现,它的强大之处恰恰藏在最简单的符号里。运放的符号主体是个三角形,五个关键引…...
HOJ部署进阶:绕过宝塔,用Nginx反向代理直接配置Docker服务的域名与HTTPS
HOJ部署进阶:Nginx反向代理直连Docker服务的全手动配置指南 当你在服务器上运行HOJ在线判题系统时,是否厌倦了依赖宝塔面板这类图形化工具?本文将带你深入探索完全通过命令行配置Nginx反向代理和HTTPS的全过程,实现从域名解析到安…...
AI建站工具分人群解决方案:中小企业主、运营、外贸人分别怎么选
同样是想要一个网站,中小企业主、市场运营、外贸负责人、个人创作者的内心诉求,其实天差地别。老板看重的是成本和品牌形象;运营人员关心的是好不好改、能不能帮我获取线索;外贸人则把多语言和海外访问速度放在第一位。今天这篇文…...
Eidolon与Artsy生态系统的集成:如何构建企业级移动应用
Eidolon与Artsy生态系统的集成:如何构建企业级移动应用 【免费下载链接】eidolon The Artsy Auction Kiosk App. 项目地址: https://gitcode.com/gh_mirrors/ei/eidolon Eidolon作为Artsy Auction Kiosk App,是企业级移动应用开发的典范之作。本文…...
Sony-PMCA-RE技术解析与实战指南:解锁Sony相机潜能的开源工具
Sony-PMCA-RE技术解析与实战指南:解锁Sony相机潜能的开源工具 【免费下载链接】Sony-PMCA-RE Reverse Engineering Sony Digital Cameras 项目地址: https://gitcode.com/gh_mirrors/so/Sony-PMCA-RE 一、价值定位:重新定义相机控制边界 1.1 开源…...
2026届必备的十大降AI率助手推荐
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 于内容创作里,将 AI 生成率予以降低的关键之处在于把机器输出的规整性还有重复性…...
OpenClaw版本升级:无缝迁移Kimi-VL-A3B-Thinking对接配置
OpenClaw版本升级:无缝迁移Kimi-VL-A3B-Thinking对接配置 1. 升级前的准备工作 上周我在升级OpenClaw时遇到了一个棘手的问题——新版本与现有的Kimi-VL-A3B-Thinking模型对接出现了兼容性问题。这让我意识到,对于依赖特定模型服务的自动化工作流来说&…...
HunterPie:怪物猎人世界终极数据覆盖层工具,实时监控提升狩猎效率
HunterPie:怪物猎人世界终极数据覆盖层工具,实时监控提升狩猎效率 【免费下载链接】HunterPie-legacy A complete, modern and clean overlay with Discord Rich Presence integration for Monster Hunter: World. 项目地址: https://gitcode.com/gh_m…...
3步掌握高效Android OTA解包:payload-dumper-go终极指南
3步掌握高效Android OTA解包:payload-dumper-go终极指南 【免费下载链接】payload-dumper-go an android OTA payload dumper written in Go 项目地址: https://gitcode.com/gh_mirrors/pa/payload-dumper-go Android系统OTA更新包解压工具payload-dumper-go…...
