LeetCode 136.只出现一次的数字

2023-11-12

题目描述

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

说明:

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

示例 1:

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

示例 2:

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

题解

思路

利用异或的性质:0 ^ a = a; a ^ a = 0。

    public int singleNumber(int[] nums) {
        int a = 0;
        for(int i=0;i<nums.length;i++) {
            a = a ^ nums[i];
        }
        return a;
    }

复杂度分析

  • 时间复杂度:O(n) 。

  • 空间复杂度:O(1)。

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

LeetCode 136.只出现一次的数字 的相关文章

随机推荐

  • 基于粒子群算法优化LSTM的多输入单输出台风风电功率预测

    基于粒子群算法优化LSTM的多输入单输出台风风电功率预测 随着风电产业的快速发展 风电场的管理和运行越来越依赖于准确的风速信息和风力预测 因此 台风风电功率预测的研究变得越来越重要 在本文中 我们将使用粒子群算法 PSO 来优化长短期记忆网
  • spring-boot项目使用ulisesbocchio对配置文件敏感信息加密

    参考文献github官网地址 https github com ulisesbocchio jasypt spring boot 1 添加依赖 maven
  • kiel5编译报错error: L6235E: More than one section matches selector - cannot all be FIRST/LAST.

    原因是startup xxx s文件只能保留其中一种 启动文件分别带有hd md ld和cl vl xl几种种字样 需要查看mcu的flash内存大小来选择 cl 互联型产品 stm32f105 107系列 vl 超值型产品 stm32f1
  • 世界各国英文简写一览表

    整理了一份世界各国英文简写表 供大家参考 country cName country code country eName 中国 CN China 中国台湾 W aiwan 中国澳门 MO Macao 中非共和国 CF he Central
  • 基于STM32c8t6的5路pwm占空比测量实验总结

    测量方式 1 正点原子例程里使用的方式 定时器通道的相关引脚输入捕获上升沿触发中断 在中断函数里 检测到上升沿之后TIM SetCounter TIMX 0 将计数器的值置零重新开始计数 同时将定时器中断触发方式切换为下降沿触发 待到下降沿
  • 嵌入式(TCP编程)

    TCP编程API 1 socket 函数 参数 2 bind 函数 如果是IPV6的编程 要使用 struct sockddr in6结构体 man 7 ipv6 通常更通用的方法可以通过struct sockaddr storage来编程
  • VulnHub渗透实战Billu_b0x

    简介 VulnHub是一个面向所有人开放的安全靶场 里面有很多安全环境 只要下载相关镜像 在相关虚拟机上面运行就可以练习相关靶场了 里面设计了好多关 如果有耐心一定可以到达峰顶 许多考oscp人员 也会利用vulnhub靶场进行刷题 我们下
  • pycharm缩进快捷键

    1 pycharm使多行代码同时右移缩进 鼠标选中多行代码后 按下Tab键 一次缩进四个字符 2 pycharm使多行代码同时左移 鼠标选中多行代码后 同时按住shift Tab键 一次左移四个字符
  • python函数和模块有什么特性_python-函数包和模块

    python函数的作用 在Python代码段中如果有一段几十行的代码 需要多次重复使用这几十行代码时 为了提高代码的可用性 将代码段放进函数体内 以后在使用中直接调用该函数模块即可 函数是一个独立的函数体或是一段独立的功能体 最主要的作用是
  • 头脑风暴会议的注意事项

    在组织内会经常召开头脑风暴的讨论会 如何举办一个成功的讨论会议呢 请看如下的30个要点 头脑风暴会议的注意事项 序号 分类 要点 1 会前 明确会议目的 议程 时间 地点 交通方式等 并确保通知到与会人员 以便参与者有充分准备 2 准备必要
  • 智能系统设计开发 java_一种基于java语言的智能系统设计与开发.doc

    一种基于java语言的智能系统设计与开发 doc 还剩 36页未读 继续阅读 下载文档到电脑 马上远离加班熬夜 亲 很抱歉 此页已超出免费预览范围啦 如果喜欢就下载吧 价低环保 内容要点 兰州交通大学毕业设计 论文 32参考文献 1 郭今吕
  • STM32 定时器的简单应用 1ms中断代码

    引言 利用定时器TIM8产生1ms中断 每中断一次 全局变量 1 计数到10即10ms 使得输出引脚翻转一次 芯片采用STM32F103VCT6 系统输入时钟12MHz 完成代码并用示波器输出 根据要求 本项目涉及系统时钟配置 中断源配置
  • 数据结构---冒泡排序

    冒泡排序 算法思想 代码实现 优化冒泡排序1 优化冒泡排序2 算法思想 把相邻的元素两两比较 当一个元素大于右侧相邻元素时 交换它们的位置 当一个元素小于或等于右侧相邻元素时 位置不变 每次冒泡 就把当前最大的元素弄出来了 冒泡排序是一种稳
  • Python 下载的 11 种姿势

    1 使用requests 你可以使用requests模块从一个URL下载文件 考虑以下代码 你只需使用requests模块的get方法获取URL 并将结果存储到一个名为 myfile 的变量中 然后 将这个变量的内容写入文件 2 使用wge
  • ES报错Native controller process has stopped - no new native processes can be started

    一 问题描述 在Linux中启动ES发现如下错误 Native controller process has stopped no new native processes can be started 问题如下所示 问题代码 2022 0
  • OS X Mavericks Server使用教程:安装设置

    2014年1月2日 51CTO外电头条 OS X Server 10 9增加了多项新服务 同时也通过调整让旧有服务更加易于使用 Mavericks运行Server app 3 0版本 OS X Server以更为友善的面貌亲近用户 OS X
  • springboot 事务回滚(*)

    springboot 事务回滚 springboot 事务使用 1 只有在开启事务的方法中出现异常 才会自动回滚 需要在service的public方法上面加上 Transactional rollbackFor Exception cla
  • iLogtail专题六:实际场景采集模拟

    公司一直使用的Filebeat进行日志采集 由于Filebeat采集组件一些问题 现需要使用iLogtail进行代替 现记录下iLogtail介绍和实际使用过程 这是iLogtail系列的第六篇文章 背景 由于平时日志采集存在堆栈信息日志情
  • python 学习笔记06: dict(字典)类型的操作

    usr bin env python3 coding utf 8 Created on Mon Mar 25 22 04 09 2019 author sungang 今天学习python中用数据类型 dict 字典 学习一个类型 最好的办
  • LeetCode 136.只出现一次的数字

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