异或的巧妙用法(比较数字是否相同/独数)

2023-11-15

比较两个数是否相同或者在数组(该数组同一个相同数最多2个)中找出一个单独出现的数字,我们可以用异或的方法来巧妙的解决

//C++代码
class Solution {
public:
    int singleNumber(vector<int>& nums) {
        int a = 0;
        for(int i:nums){
            a ^= i;
        }
        return a;
    }
};

假设数组[2,1,2,4,1]
0^2 = 2;
2^1 = 3;
3^2 = 1;
1^4 = 5;
5^1 = 4;
结果就出来了数组中单独出现的数的确是4。

异或运算的具体演示
0^2
0000^0010 = 0010
2^1
0010^0001 = 0011;
3^2
0011^0010 = 0001;
1^4
0001^0100 = 0101;
5^1
0101^0001 = 0100;

如果两个数字相同结果为0
2^2 = 0;
如果其中一个数为0,那么结果是另外一个数
2^0 = 2;

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

异或的巧妙用法(比较数字是否相同/独数) 的相关文章

随机推荐

  • 计算两幅图像的相似度(PSNR、SSIM、MSE、余弦相似度、MD5、直方图、互信息、Hash)& 代码实现 与举例

    MSE Mean Squared Error 均方误差 MSE公式 MSE 计算模型的预测 与真实标签 Y 的接近程度 公式表示为 对于两个m n的单通道图像I和K 它们的均方误差可定义为 优点 MSE的函数曲线光滑 连续 处处可导 便于使
  • Matlab从指定行读取文本文件(textscan)

    在帮助别人的同时提高自己 有人提到这个问题 给了我去探究的机会 将最终代码做一下记录 问题描述 现有一大矩阵存储于某一txt文件末端 需要用导入matlab进行进一步的处理 这就需要略过前面很多无效行 如果采用传统的fscanf未免有些麻烦
  • Oracle数据库查询最近一周的记录(后台时间存储类型为10位时间戳)

    现有一张SHOPPING表 记录最近的购物记录 包括商品名 金额 时间 以10位时间戳形式存储 为了更直观地了解时间信息 我们需要将10位时间戳转换成我们能够看懂的时间字符串 查询sql如下 SELECT NAME AMOUNT CDATE
  • Python 搭建虚拟环境

    简介 实际开发中 我们为了防止python安装的包污染用户环境 比如你是root用户 利用pip安装后的包会放在root的python安装录中 很可能会影响root用户的其他操作 我们用root用户使用pip安装软件包后 linux环境会报
  • Django2.0-templates(1)-渲染模版方式和模版查找路径

    templates Django自带的是DTL Django Templates language DTL模版是一种带有特殊语法的HTML文件 该文件可以被Django编译 可以传递参数进去 实现数据动态化 编译完成后 生成一个普通的HTM
  • 如何安装elasticsearch分布式搜索引擎

    文章目录 安装elasticsearch 1 部署单点es 1 1 创建网络 1 2 下载镜像 1 3 运行 2 部署kibana 2 1 部署 2 2 安装中文 2 3 DevTools 3 安装IK分词器 3 1 在线安装ik插件 较慢
  • MQL5:zig-zag 指标

    Zig Zag 指标是用于描述高低点趋势的指标 MQL5 官方实现 MQL5 官方实现十分地烂 辣鸡 很多无用的变量 程序冗长 不一致 效率低下 感觉是多个菜鸟合作写出来的 有一些没有用的变量都没有删掉 不过 先来看看MQL5的官方实现 辅
  • 在ActiveX控件中如何动态调用DLL函数

    刚到公司不久 接到领导的下达的一个任务 就是把对POS机操作功能封装在ActiveX控件中 在IE中调用 这样就能实现在IE上直接对POS机进行操作 而我要封装的这个动态库 厂家只提供了一个单的动态库和一百多字的说明 也就是说明一下动态库中
  • vue笔记-inheritAttrs及$attr表示含义(一)

    一 引用官方解释 inheritAttrs 默认值true 在这种情况下父作用域的不被认作 props 的特性绑定 attribute bindings 将会 回退 且作为普通的 HTML 特性应用在子组件的根元素上 attr 包含了父作用
  • 服务器网站用绝对路径,云服务器上的绝对路径

    云服务器上的绝对路径 内容精选 换一换 已成功登录Java性能分析 待安装分析辅助软件的服务器已开启sshd Java性能分析优先选用非交互shell non interactive shell 中的JAVA HOME环境变量所指定的JRE
  • 关于iptables -m选项以及规则的理解

    关于iptables的详细状态可以查看http os 51cto com art 201108 285209 htm 时常在服务器的防火墙上看到有这些规则 2 106K 8294K ACCEPT all 0 0 0 0 0 0 0 0 0
  • 自定义Switch背景带文字

    需要实现的效果 标题代码实现 div class custom switch span class custom left 关灯 span div class switch btn div span class custom right 开
  • mysql thread_MySQL thread_stack连接线程的优化

    MySQL连接不仅能通过网络方式 还可以通过命名管道的方式 不论是哪种方式连接MySQL 在MySQL中都是通过线程的方式管理所有客户端请求的 每一个客户端连接都会有一个与之对应的连接线程 在MySQL中实现了一个Thread Cache池
  • MySQL8高级优化,持续更新......

    索引 索引可以高效获取数据 避免对数据进行全盘扫描 查询速度很慢 索引就是一种数据结构 树 MySQL官方对索引的定义为 索引 index 是帮助MySQL高效获取数据的数据结构 有序 在数据之外 数据库系统还维护者满足特定查找算法的数据结
  • python 线性回归 统计检验 p值_使用Python进行统计建模

    点击上方 早起python 关注早起 和我一起 成为更好的自己 前言 大家好 在 之前的文章中 我们已经讲解了很多Python数据处理的方法比如 读取数据 缺失值处理 数据降维等 也介绍了一些数据可视化的方法如 Matplotlib pye
  • 电脑出现不停刷新即Windows资源管理器不停重启的情况(win10)

    电脑出现不停刷新即Windows资源管理器不停重启的情况 win10 一 现象 电脑出现不停刷新的情况 打开任务管理器发现 Windows资源管理器 进程占用很高的CPU又降下去 反复出现 二 解决方案 1 win R 在输入框中输入reg
  • PhD新生规划知乎、一亩三分地观点摘抄

    1 thesis 68 封私信 80 条消息 对 PhD 一年级新生有什么建议 知乎 zhihu com 我觉得一个优秀的phd应该是这样的 整个phd期间就发有限的几篇 然后这几篇文章就像沙滩上的脚印一样 围成了一个圈或者一个区域 这个圈
  • 解决uniapp 报错 chunk-vendors.js:25968 GET http://localhost:8080/sockjs-node/info?t=15996357

    在目录中新建一个package lock json 然后在里面添加 sockjs dev false sockjs client dev false
  • FISCO BCOS 一、搭建第一个区块链网络(及配置控制台)

    1 搭建单群组FISCO BCOS联盟链 本节以搭建单群组FISCO BCOS链为例操作 使用开发部署工具 build chain sh脚本在本地搭建一条4 节点的FISCO BCOS链 这里我用的是ubuntu20 04 第一步 安装依赖
  • 异或的巧妙用法(比较数字是否相同/独数)

    比较两个数是否相同或者在数组 该数组同一个相同数最多2个 中找出一个单独出现的数字 我们可以用异或的方法来巧妙的解决 C 代码 class Solution public int singleNumber vector