【Hash表】找出出现一次的数字-力扣 136

2023-09-20 13:42:58

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
img

  • 推荐:kuan 的首页,持续学习,不断总结,共同进步,活到老学到老
  • 导航
    • 檀越剑指大厂系列:全面总结 java 核心技术点,如集合,jvm,并发编程 redis,kafka,Spring,微服务,Netty 等
    • 常用开发工具系列:罗列常用的开发工具,如 IDEA,Mac,Alfred,electerm,Git,typora,apifox 等
    • 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
    • 懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
    • 数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

博客目录

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

你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。

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

解法 1:用 HashSet

public int singleNumber(int[] nums) {
    HashSet<Integer> set = new HashSet<>();
    for (int num : nums) {
        if (!set.add(num)) {
            set.remove(num);
        }
    }
    return set.toArray(new Integer[0])[0];
}

解法 2:用 xor

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

觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

img

更多推荐

springboot配置注入增强(二)属性注入的原理

一原理1配置的存储springboot在启动的时候会后构建一个org.springframework.core.env.Environment类型的对象,这个对象就是用于存储配置,如图springboot会在启动的最开始创建一个Environment对象这个webApplicationType的枚举是在newSprin

Java面向对象编程

对于IP地址130.63.160.2,MASK为255.255.255.0,子网号为()A.160.2B.160C.63.160D.130.63.160答案:B将网络物理地址转换为IP地址的协议是()A.IPB.ICMPC.ARPD.RARP答案:D有关cookie和session的描述,下面错误的是()A.cooki

如何在外网访问公司项目?快解析实现内网ip让公网连接

随着互联网技术的不断发展,越来越多的企业和个人选择使用服务器进行网站或应用程序的部署。公司内部项目需要提供外网访问是个常见的网络场景,需要怎么操作设置也是网络或项目人员需要关注的。企业使用服务器搭建公司业务系统一般会使用云服务器或者使用本地的服务器,有时候,我们需要让外部网络访问本地服务器。然而,由于大多数服务器都是在

Linux下的系统编程——守护进程、线程(十二)

前言:我们知道进程拥有一个PCB,在Linux中被称为task_struct,并且有一个进程地址空间,也有一个页表,通过页表指向物理内存,但是从今天开始,对进程的概念可能发生变化,这个我们后边来说,在Linux中,并没有真正的线程,而是使用进程的PCB来模拟线程,也就是说一个线程在创建时,只会去创建一个PCB,而这个P

【用unity实现100个游戏之13】复刻类泰瑞利亚生存建造游戏

文章目录前言素材人物瓦片一、建造系统1.定义物品类2.绘制地图3.实现瓦片选中效果4.限制瓦片选择5.放置物品功能6.清除物品7.生成和拾取物品功能二、库存系统源码完结前言本文来实现一个类泰瑞利亚游戏的demo,其中主要包括经典的库存系统和建造系统素材人物https://assetstore.unity.com/pac

使用自定义注解发布webservice服务

使用自定义注解发布webservice服务概要代码自定义注解WebService接口服务发布配置使用结果概要在springboot使用webservice,发布webservice服务的时候,我们经常需要手动在添加一些发布的代码,比如:@BeanpublicEndpointorganizationEndpoint(){

Redis 篇

1、为什么要用缓存?使用缓存的目的就是提升读写性能。而实际业务场景下,更多的是为了提升读性能,带来更好的性能,带来更高的并发量。Redis的读写性能比Mysql好的多,我们就可以把Mysql中的热点数据缓存到Redis中,提升读取性能,同时也减轻了Mysql的读取压力。2、什么是Redis?Redis是一个开源(BSD

嵌入式:驱动开发 Day9

作业:通过platform总线驱动实现a.应用程序通过阻塞的io模型来读取number变量的值b.number是内核驱动中的一个变量c.number的值随着按键按下而改变(按键中断)例如number=0按下按键number=1,再次按下按键number=0d.在按下按键的时候需要同时将led1的状态取反e.驱动中需要编

树莓派使用Nginx 搭建轻量级网站远程访问

文章目录1.Nginx安装2.安装cpolar3.配置域名访问Nginx4.固定域名访问5.配置静态站点转载自cpolar极点云文章:树莓派使用Nginx搭建轻量级网站远程访问安装Nginx(发音为“engine-x”)可以将您的树莓派变成一个强大的Web服务器,可以用于托管网站或Web应用程序。相比其他Web服务器,

01_Bootstrap基础组件01

1什么是Bootstrap?Bootstrap,来自Twitter,是目前很受欢迎的前端框架。Bootstrap是基于HTML、CSS、JavaScript的,它简洁灵活,使Web开发更加快捷。它对HTML、CSS和JavaScript进行了封装,使它们使用起来更方便。我们只需要使用它已经设定好的类,或规则,即可快速应

[全家桶之SpringMVC]SpringMVC 的模块和结构

目录SpringMVC的模块Web模块WebMVC模块SpringMVC的结构SpringMVC的模块SpringMVC的模块主要包括以下几个:Web模块:这个模块提供了Spring对Web项目的支持,包括文件上传、异常处理、国际化、主题等功能。WebMVC模块:这个模块是SpringMVC的核心,它包含了前端控制器、

热文推荐