只出现一次的数字(异或运算^)

2023-11-07

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

说明:

你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?

示例 1:

输入: [2,2,1]
输出: 1

示例 2:

输入: [4,1,2,1,2]
输出: 4
  1. 交换律:a ^ b ^ c <=> a ^ c ^ b

  2. 任何数于0异或为任何数 0 ^ n => n

  3. 相同的数异或为0: n ^ n => 0

var a = [2,3,2,4,4]

2 ^ 3 ^ 2 ^ 4 ^ 4等价于 2 ^ 2 ^ 4 ^ 4 ^ 3 => 0 ^ 0 ^3 => 3

 

class Solution {
public:
    int singleNumber(vector<int>& nums) {
        int tmp=0;
        for(int i:nums)
            tmp ^=i;
        return tmp;
        
    }
};

 

 

 

 

 

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

只出现一次的数字(异或运算^) 的相关文章

  • Python 练习实例11:兔子的规律为数列1,1,2,3,5,8,13,21

    古典问题 有一对兔子 从出生后第3个月起每个月都生一对兔子 小兔子长到第三个月后每个月又生一对兔子 假如兔子都不死 问每个月的兔子总数为多少 程序分析 兔子的规律为数列1 1 2 3 5 8 13 21 程序代码 def f n if n

随机推荐

  • 傅里叶变换、短时傅里叶变换、小波变换

    顺序 傅里叶 gt 短时傅里叶变换 gt 小波变换的顺序 转载自形象易懂的傅里叶变换 短时傅里叶变换和小波变换本文作者按照傅里叶 短时傅里叶变换 小波变换的顺序 由浅到深的解释小波变换的缘由以及思路 https mp weixin qq c
  • VMware中安装Kali一步解决(7z格式)

    VMware中安装Kali一步解决 7z格式 首先搜索Kali 进入官网找到VMware版本 选择第一个就好了 进去之后 根据自己的电脑选择就好 有64位和32位 点击torrent会生成种子 下载好种子之后 使用迅雷下载就好了 下载完成之
  • 十一.linux多线程同步之互斥锁、信号量、条件量

    笔记 https note youdao com ynoteshare1 index html id 1b529d966d34b16f3bdd828be48364e4 type note 目录 一 线程同步之信号量 1 任务 用户从终端输入
  • leetcode链表之反转链表

    本文主要有三道题 都是关于反转链表的算法题 由浅入深 文章出现的代码都是python3 206 反转链表 题目 给你单链表的头节点 head 请你反转链表 并返回反转后的链表 示例1 输入 head 1 2 3 4 5 输出 5 4 3 2
  • 基于MATLAB GUI的数字滤波仿真平台设计

    基于MATLAB GUI的数字滤波仿真平台设计 一 平台介绍 二 设计原理 1 登陆系统设计原理 2 IIR数字滤波器设计 3 FIR数字滤波器设计 三 程序实现 1 用户登陆系统程序 2 IIR DF设计 3 FIR DF设计 4 FDA
  • Pyinstaller打包exe附带图片的方法

    2019 10 27更新 在最近的wordpress项目中学到了图片字节码可在文件中存在 于是我做了试验并成功了 就是代码里带一堆字节码 参考 https blog csdn net jss19940414 article details
  • vue 路由守卫

    vue router 提供的导航守卫主要用来通过或取消的方式来守卫导航 有多种机会植入路由导航的过程 主要分为全局导航 单个路由导航 组件导航 所谓路由导航我们可以这么理解 导航守卫就相当于保安的意思 你要进入这个房子 保安需要知道你是 t
  • Suse Linux 磁盘动态扩容

    1 背景 Suse Linux本身非常少见 在实际项目中用过最多的是CentOs和RedHat版本的Linux Linux各个发行版只是微小差异 命令基本上一样 有一个数仓的测试环境中 总磁盘大小为1T 根目录 挂载了300G 剩下的600
  • 【图论】【最短路】城市问题

    Description 设有n个城市 依次编号为0 1 2 n 1 n lt 100 另外有一个文件保存n个城市之间的距离 每座城市之间的距离都小于等于1000 当两城市之间的距离等于 1时 表示这两个城市没有直接连接 求指定城市k到每一个
  • 【Python VTK】之 TVTK安装

    前言 需安装完 VTK numpy traits mayavi pyqt4 才能使用 VTVK 下载 whl 时候 需注意 python的版本号 和 自身电脑的位数 1 下载 下载链接 凡凡的环境是 python 3 6 window 64
  • 《自动驾驶算法工程师课程》

    B站看到一个不错的教程 可以对这个领域有一个大致的了解 自动驾驶算法工程师课程 https www bilibili com video BV1dL411j7f6 自动驾驶技术算法 https www bilibili com video
  • Flink之水位线(Watermark)

    在流数据处理应用中 一个很重要 也很常见的操作就是窗口计算 所谓的 窗口 一般就是划定的一段时间范围 也就是 时间窗 对在这范围内的数据进行处理 就是所谓的窗口计算 所以窗口和时间往往是分不开的 接下来我们就深入了解一下 Flink 中的时
  • 20220129---CTF刷题---WEB--代码审计

    20220129 CTF刷题 WEB 代码审计 刷题网站 世界攻防 https adworld xctf org cn WEB方向 新手区第5题 一道简单的代码审计题 首先通过get方法传参 a要转化成数字是0 但是不能直接传0 否则 a就
  • Dynamics 365 UI Controls 用Calendar View来查看数据

    Dynamics 365 在升级到new UI之后 支持一种calendar 形式来查看view数据 今天我们来说一下怎么在一个特定的view上来实现用calendar查看 1 首先进入Customization页面 找到你想开启Calen
  • redis中api理解与使用(二)

    4 列表 list 列表类型是用来存储多个有序的字符串 可以重复 一个列表最多存储2 32 1个元素 redis中可以对列表两端插入和弹出 还可以获取指定范围的元素列表 获取指定索引下标的元素等 4 1 常用命令 操作类型 操作 添加 rp
  • android studio 将已有的项目 以module Library的 形式引入到 自己的项目中

    1 什么是Module Library android 将项目 分成 project 和 Module module 其实也是一个项目 他里面也有 res java AndroidManifiest等文件 其实也是一个可以独立运行的项目 只
  • samba搭建(基于centos7)

    samba 基础 组管理 文件权限管理 基本命令 安装及配置 samba linux连接 samba 配置详解 global 配置特定目录共享 shell 自动创建用户 基础 SMB Server Message Block 服务器消息块
  • [转]video视频解码硬解和软解的区别及如何选择

    如果你认为本系列文章对你有所帮助 请大家有钱的捧个钱场 点击此处赞助 赞助额0 1元起步 多少随意 声明 本文只用于个人学习交流 若不慎造成侵权 请及时联系我 立即予以改正 锋影 email 174176320 qq com 硬解 字面上理
  • 百度引流推广怎么做?个人如何做百度推广

    个人如何做百度推广 相对于中小型企业 个人或者微商朋友在网络推广预算比较紧张 做网络营销推广的预算不会太多 因此 更需要在有限的推广费用预算 做出更好的推广效果 无疑 精准引流成为了个人做百度推广的首选 一 什么是百度推广 百度推广可以简单
  • 只出现一次的数字(异或运算^)

    给定一个非空整数数组 除了某个元素只出现一次以外 其余每个元素均出现两次 找出那个只出现了一次的元素 说明 你的算法应该具有线性时间复杂度 你可以不使用额外空间来实现吗 示例 1 输入 2 2 1 输出 1 示例 2 输入 4 1 2 1