算法题(23):只出现一次的数字

初级:

审题:

需要输出只出现了一次的数据,其他数据均出现了两次

思路:

若不限制空间复杂度:

方法一:哈希表

用哈希映射循环一次,把对应数字出现的次数记录到数组里面,然后再遍历一次哈希表,把次数为1的数据输出

但是这里限制了空间复杂度,所以我们利用异或运算来实现

方法二:异或运算

由于异或运算有如下三个特性,所以我们使用异或运算来实现

1.任何数与0进行异或运算得到的结果都是该数本身

2.任何数自身与自身进行异或运算得到的结果都是0

3.异或运算满足交换律与结合律,即 a⊕b⊕a=b⊕a⊕a=b⊕(a⊕a)=b⊕0=b

由3可知:无论该数组中数据排序如何,我们都可以视为他们是两个部分,出现两次部分与出现一次部分。

由2可知,我们的出现两次部分通过异或运算可以消掉

由于1,我们一开始用0为初始值,所以对整个数组元素依次进行运算最后的结果就是0⊕answer = answer。answer就是只出现一次的数据

解题:

136. 只出现一次的数字 - 力扣(LeetCode)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/500790.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32拓展 低功耗案例1:睡眠模式 (register)

需求描述 让MCU进入睡眠模式,然后通过串口发送消息来唤醒MCU退出睡眠模式。观察LED在进入休眠模式后是否仍然开启。 思考 首先睡眠模式,唤醒的条件是中断,外部内部都可以,这里的串口接收中断时内部中断。 拓展:中断…

CSS 学习之 padding 与图形绘制

padding 属性和 background-clip 属性配合,可以在有限的标签下实现一些 CSS 图形绘制效果,我这里举两个小例子,重在展示可行性。 例 1:不使用伪元素,仅一层标签实现大队长的“三道杠”分类图标效果。此效果在移动端比较常见&…

机器学习 学习知识点

机器学习 学习知识点 什么是消融实验(Ablation experiment)?num_step与batch_size的区别python glob.glob()函数认识python的条件判断之is not、is not None、is Nonetqdm介绍及常用方法softmax 激活函数。type_as(tesnor)Python OpenCV cv2.…

【网络安全 | 漏洞挖掘】硬编码凭据泄露实现支付系统账户接管

未经许可,不得转载。 文章目录 前言在APK中寻找硬编码凭据+账户接管在APP流程中寻找硬编码凭据+账户接管总结前言 硬编码凭据是指直接嵌入应用程序源代码中的敏感信息,例如 API 密钥、密钥、用户名或密码。这些凭据通常为了开发便捷而添加,但往往在发布到生产代码或应用路径…

【数据库系列】Spring Boot 中整合 MyBatis-Plus详细步骤

在 Spring Boot 中整合 MyBatis-Plus 可以按照以下步骤进行: 一、整合步骤 1. 创建 Spring Boot 项目 首先,使用 Spring Initializr(https://start.spring.io/)创建一个新的 Spring Boot 项目。在创建过程中,选择以…

JVM实战—8.如何分析jstat统计来定位GC

大纲 1.使用jstat了解线上系统的JVM运行状况 2.使用jmap和jhat了解线上系统的对象分布 3.如何分析JVM运行状况并合理优化 4.使用jstat分析模拟的BI系统JVM运行情况 5.使用jstat分析模拟的计算系统JVM运行情况 6.问题汇总 1.使用jstat了解线上系统的JVM运行状况 (1)JVM的…

[人工智能] 结合最新技术:Transformer、CLIP与边缘计算在提高人脸识别准确率中的应用

随着人工智能的快速发展,特别是深度学习和自然语言处理领域的革命性技术,越来越多的前沿技术被应用于人脸识别中。Transformer架构、CLIP模型以及边缘计算的结合,正成为提升人脸识别准确率和应用效能的关键技术路径。特别是在多样化场景下&am…

DataV数据可视化

阿里云 DataV 是一个强大的数据可视化工具,可以帮助用户通过创建丰富的图表、仪表盘、地图和互动视图,将复杂的数据转化为易于理解和分析的可视化信息。DataV主要用于大数据和实时数据的展示,可以帮助企业和个人更直观地理解数据背后的含义&a…

【国产NI替代】基于STM32+FPGA的8振动+4温度(16bits)数据采集板卡解决方案,支持全国产

一、8振动4温度(16bits)数据采集板卡解决方案 采用STM32H743做为主控芯片,针对工业现场 环境设计的12通道数据采集装置,采集器模 拟信号调理电路采用模块化设计,前通道模 块可配置,可扩展,其…

SpringMVC(一)配置

目录 引入 第一章:Java web的发展历史 一、Model I和Model II 1.Model I开发模式 2.Model II开发模式 二. MVC模式 第二章:SpringMVC的入门案例 搭建SpringMVC的入门程序 1.创建新项目 2.等待加载导入坐标 3.处理xml文件和其他 导入tomcat 运…

数据结构(ing)

学习内容 指针 指针的定义: 指针是一种变量,它的值为另一个变量的地址,即内存地址。 指针在内存中也是要占据位置的。 指针类型: 指针的值用来存储内存地址,指针的类型表示该地址所指向的数据类型并告诉编译器如何解…

Java网络套接字

在Java的开发中,有一个很重要!很重要!很重要!的东西,叫做网络套接字,它被广泛的用来二次开发服务,比如大数据中台的服务链路调用等。 它的实现原理是依靠三次握手来完成通信的建立,…

Mac 安装Mysql启动Mysql以及数据库的常规操作

Mac 安装Mysql启动Mysql以及数据库的常规操作 一、mysql的安装 1、登录官方网站:dev.mysql.com/downloads/mysql/ 二、查看系统架构 uname -m 在MAC中: 如果输出结果是 x86_64,则表示你的系统是 x86-64 架构。 如果输出结果是 arm64,则表示…

OpenCV的人脸检测模型FaceDetectorYN

OpenCV的人脸检测模型FaceDetectorYN 1. 官网地址2. 如何使用2.1.到opencv_zoo下载模型文件和代码2.2. 下载文件展示2.3. 修改了demo支持读取视频文件,默认是图片和摄像头## 2.4 效果展示 1. 官网地址 https://docs.opencv.org/4.x/df/d20/classcv_1_1FaceDetector…

DeepSeek-VL2

《DeepSeek-VL2: Mixture-of-Experts Vision-Language Models for Advanced Multimodal Understanding》是 DeepSeek-AI 团队发布的关于视觉语言模型 DeepSeek-VL2 的论文,以下是对该论文的详细介绍: 研究背景与动机 多模态理解的重要性:在当…

电子应用设计方案82:智能 AI 椅子系统设计

智能 AI 椅子系统设计 一、引言 智能 AI 椅子旨在为用户提供更加舒适、个性化和智能化的坐乘体验,结合了先进的技术和人体工程学原理。 二、系统概述 1. 系统目标 - 自动适应用户的体型和坐姿,提供最佳的支撑和舒适度。 - 实时监测用户的健康数据&…

Ps:创建数据驱动的图像

在设计实践中,常常需要处理大量内容变化但设计格式统一的任务,例如批量生成名片、工作证、学生证、胸牌、奖状或证书甚至图册。这些工作如果逐一手动制作,不仅耗时费力,还容易出错。 为解决这一问题,Photoshop 提供了强…

彻底解决 Selenium ChromeDriver 不匹配问题:Selenium ChromeDriver 最新版本下载安装教程

在 Python 的 Selenium 自动化测试中,ChromeDriver 是不可或缺的工具。它作为代码与 Chrome 浏览器的桥梁,但如果版本不匹配,就会导致各种报错,尤其是以下常见问题: selenium.common.exceptions.SessionNotCreatedExc…

天猫推荐数据集实践

参考自 https://github.com/xufengtt/recom_teach_code,学习记录。 环境配置(maxcomputedataworks) 下载天猫推荐数据集;开启 aliyun 的 maxcompute,dataworks,pai;使用 odpscmd 上传本地数据…

人脑处理信息的速度与效率:超越计算机的直观判断能力

人脑处理信息的速度与效率:超越计算机的直观判断能力 关键词: #人脑信息处理 Human Brain Information Processing #并行处理 Parallel Processing #视觉信息分析 Visual Information Analysis #决策速度 Decision Speed #计算机与人脑比较 Computer v…