(52)只出现一次的数字III
文章目录
- 每日一言
- 题目
- 解题思路
- 代码
- 结语
每日一言
十年磨一剑,风雨未曾阻挡;愿你乘风破浪,不负韶华时光。
题目
题目链接:只出现一次的数字
给你一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。你可以按 任意顺序 返回答案。
你必须设计并实现线性时间复杂度的算法且仅使用常量额外空间来解决此问题。
-
示例 1:
输入:nums = [1,2,1,3,2,5]
输出:[3,5]
解释:[5, 3] 也是有效的答案。 -
示例 2:
输入:nums = [-1,0]
输出:[-1,0] -
示例 3:
输入:nums = [0,1]
输出:[1,0]
提示:
2 <= nums.length <= 3 * 104
-231 <= nums[i] <= 231 - 1
除两个只出现一次的整数外,nums 中的其他数字都出现两次
解题思路
要对按位异或有较深的了解
n ^ n = 0
n ^ 0 = n
消除:n ^m ^n = m
交换律:n ^ m = m ^ n
结合律:n ^ m ^ z = n ^ (m ^ z)
根据消除律,我们可以消除出现次数为偶数的数字,按位异或完整个数组后我们会得到一个数z,这个数是由两个只出现一次的数按位异或后得到的,假设他们分别为m和n。
这个z的二进制位为1的地方,表明m和n在这一位上的值不相同(一个为0,一个为1),我们可以依此来给整个数组进行分类,将m、n放置在不同的组中,然后分别按位异或完整个组,最后返回两数就行啦~
代码
int* singleNumber(int* nums, int numsSize, int* returnSize) {int* arr = (int*)malloc(sizeof(int)*2);int i=0;int ret = 0;for(i=0;i<numsSize;i++)ret^=nums[i];int tar = 0;for(i=0;i<32;i++){if(((ret >> i)&1)==1){tar = i;break;}}arr[0]=0;arr[1]=0;for(i=0;i<numsSize;i++){if(((nums[i]>>tar)&1)==1){arr[0]^=nums[i];}else{arr[1]^=nums[i];}}*returnSize = 2;return arr;
}
结语
请给自己些耐心,一口吃不成胖子。
山外青山楼外楼,莫把百尺当尽头。
保持空杯心态加油努力吧!
都看到这里啦!真棒(*^▽^*)
可以给作者一个免费的赞赞吗,这将会鼓励我继续创作,谢谢大家
编程小白写作,如有纰漏或错误,欢迎指正
相关文章:
(52)只出现一次的数字III
文章目录 每日一言题目解题思路代码结语 每日一言 十年磨一剑,风雨未曾阻挡;愿你乘风破浪,不负韶华时光。 题目 题目链接:只出现一次的数字 给你一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现…...
Linux增删ip
Linux手动增删IP by: 铁乐猫 日期:2022.03.17 这里主要是记录手动临时添加和删除ip。 ifconfig方式 例,添加: ifconfig eth0:1 192.168.0.101/24移除 ifconfig eth0:1 downip addr方式 添加 ip addr add 192.168.0.102/24 dev eth0 …...
【计算机网络】时延,丢包,吞吐量(分组交换网络
时延 结点处理时延(nodal processing delay) dproc 排队时延(queuing delay) dqueue 传输时延(transmission delay) dtrans 路由器将分组推出所需要的时间,是分组长度和链路传输速率的函数 传播时…...
张楠辞任抖音集团CEO;东方甄选将开服饰号;小红书新增“附近”一级入口;华为分红770亿元
今日精选 • 张楠辞任抖音集团CEO,未来将聚焦剪映发展• 东方甄选将开服饰号 主打自营服饰• 小红书新增“附近”一级入口• 华为分红770亿元 大厂人事变动 • 上村健一出任中国U-16国家男子足球队主教练 投融资与企业动态 • 阿里大模型「通义千问」推出春节新…...
ES监控方法以及核心指标
文章目录 1. 监控指标采集1.1 部署elasticsearch_exporter1.2 prometheus采集elasticsearch_exporter的暴露指标1.3 promethues配置告警规则或者配置grafana大盘 2. 核心告警指标2.1 es核心指标2.2 es容量模型建议 3. 参考文章 探讨es的监控数据采集方式以及需要关注的核心指标…...
无人机应用场景和发展趋势,无人机技术的未来发展趋势分析
随着科技的不断发展,无人机技术也逐渐走进了人们的生活和工作中。无人机被广泛应用于很多领域,例如遥感、民用、军事等等。本文将围绕无人机技术的应用场景和发展趋势,从多角度展开分析。 无人机技术的应用场景 无人机在遥感方面的应用&…...
JavaGuide
JavaGuide(Java学习&面试指南) | JavaGuide JavaGuide 是一个面向 Java 开发者的知识整合平台,它提供了 Java 相关的学习资源、面试题、开发工具、框架和库等内容。JavaGuide 的目标是帮助 Java 开发者更好地学习和应用 Java 技术。 Ja…...
IDEA创建SpringBoot+Mybatis-Plus项目
IDEA创建SpringBootMybatis-Plus项目 一、配置Maven apache-maven-3.6.3的下载与安装(详细教程) 二、创建SpringBoot项目 在菜单栏选择File->new->project->Spring Initializr,然后修改Server URL为start.aliyun.com,…...
第9章 SpringBoot综合项目实战——个人博客系统
学习目标 了解博客系统的系统功能和文件组织结构 熟悉博客系统数据库相关表及字段的设计 熟悉系统环境搭建的步骤及相关配置 掌握前后台管理模块功能的实现 掌握用户登录,定时邮件发送功能的实现 通过前面章节的学习,读者应该已经掌握了SpringBoot框架的基本知识,并学会了与…...
怎么理解 Redis 事务
背景 在面试中经常会被问到,redis支持事务吗?事务是怎么实现的?事务会回滚吗?又是一键三连,我下面分析下,看看能不能吊打面试官 什么是Redis事务 事务是一个单独的隔离操作:事务中的所有命令…...
react中的diff算法
diff算法 对于React团队发现在日常开发中对于更新组件的频率,会比新增和删除的频率更高,所以在diff算法里,判断更新的优先级会更高。对于Vue2的diff算法使用了双指针,React的diff算法没有使用双指针,是因为更新的jsx对…...
【医学大模型 尘肺病】PneumoLLM:少样本大模型诊断尘肺病新方法
PneumoLLM:少样本大模型诊断尘肺病新方法 提出背景PneumoLLM 框架效果 提出背景 论文:https://arxiv.org/pdf/2312.03490.pdf 代码:https://github.com/CodeMonsterPHD/PneumoLLM/tree/main 历史问题及其背景: 数据稀缺性问题&a…...
【SpringBootStarter】自定义全局加解密组件
【SpringBootStarter】 目的 了解SpringBoot Starter相关概念以及开发流程实现自定义SpringBoot Starter(全局加解密)了解测试流程优化 最终引用的效果: <dependency><groupId>com.xbhog</groupId><artifactId>globalValidation-spring…...
【射影几何15】python双曲几何工具geometry_tools
目录 一、说明二、环境问题:如何安装三、实现一个简单的例子四、绘制双曲组五、使用有限状态自动机加快速度六、资源和代码 一、说明 Geometry_tools 是一个 Python 包,旨在帮助您处理和可视化双曲空间和射影空间上的群动作。 该包主要构建在 numpy、…...
机器人抓取 [ 题目/摘要 ] 更新中..
题目:Robotic Grasping of Novel Objects using Visionl 链接:机器人抓取新物体 | IEEE Xplore(IEEE的Xplore) 【端到端】 摘要:我们考虑抓取新物体的问题,特别是第一次通过视觉看到的物体。抓取以前未知的…...
【51单片机】外部中断和定时器中断
目录 中断系统中断介绍中断概念 中断结构及相关寄存器中断结构中断相关寄存器 外部中断实验外部中断配置软件设计实验现象 定时器中断定时器介绍51 单片机定时器原理51 单片机定时/计数器结构51 单片机定时/计数器的工作方式 定时器配置硬件设计软件设计实验现象 中断系统 本章…...
零售行业供应商数据分发,怎样提高安全性和效率?
零售行业是我国经济发展的重要组成,零售行业包罗万象,如包括汽车零售、日化零售、快消品零售等,不同细分行业的运营模式各不相同,但大体来说,零售行业都具备最基础的供应商和零售商,供应商将商品或服务卖给…...
Windows下Node.js下载安装及环境变量配置教程
Windows下Node.js下载安装及环境变量配置教程 安装版本:node-v18.19.0-x64.msi 文章目录 Windows下Node.js下载安装及环境变量配置教程一、Node.js和NPM简介二、下载地址三、安装步骤四、环境配置五、安装淘宝镜像总结 一、Node.js和NPM简介 1、Node.js …...
广义表-C语言
广义表(Generalized List)是一种扩展了线性表的数据结构,它在线性表的基础上增加了元素可以是表的特点。在广义表中,元素不仅可以是单个的数据元素,还可以是一个子表,而子表中的元素也可以是数据元素或其他…...
uniapp+uView 【详解】录音,自制音频播放器
效果预览 代码实现 <template><view class"btnListBox"><view class"audioBox" v-if"audioLength"><u-row><u-col span"2"><u--text aligncenter :text"currentTime"></u--text>…...
CANN/asc-devkit Round接口文档
Round 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 项目地址: https://gitcode.com/cann…...
TVA视觉新范式:工业视觉的百年未有之大变局(4)
重磅预告:本专栏将独家连载系列丛书《智能体视觉技术与应用》部分精华内容,该书是世界首套系统阐述“因式智能体”视觉理论与实践的专著,特邀美国 TypeOne 公司首席科学家、斯坦福大学博士 Bohan 担任技术顾问。Bohan先生师从美国三院院士、“…...
科研抢发期必看:Perplexity图书推荐查询速效组合技——3分钟生成带引用格式的跨学科书单
更多请点击: https://codechina.net 第一章:科研抢发期必看:Perplexity图书推荐查询速效组合技——3分钟生成带引用格式的跨学科书单 在论文投稿前的关键窗口期,快速定位权威参考文献是提升学术严谨性与跨学科说服力的核心能力。…...
别再手动算日期了!SQL Server里DATEDIFF和DATEADD的5个实战场景,数据分析师必看
SQL Server日期处理实战:DATEDIFF与DATEADD的5个高阶应用场景 在数据分析与报表开发领域,时间维度永远是核心要素之一。无论是用户行为分析、业务指标计算还是系统自动化处理,精准的日期运算能力直接决定了数据价值的挖掘深度。作为SQL Serve…...
如何快速解密网易云NCM文件:ncmdumpGUI完整使用指南
如何快速解密网易云NCM文件:ncmdumpGUI完整使用指南 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾经在网易云音乐下载了喜欢的歌曲&…...
芯片HAST测试:通电工作下如何精准模拟极端环境挑战?
为了确保产品在高温、高湿等恶劣条件下仍能正常工作,HAST(Highly Accelerated Stress Test)测试成为不可或缺的一部分。本文将深入解析HAST测试,并探讨如何在通电工作状态下进行精准模拟,以应对极端环境挑战。什么是HA…...
CanMV K230 家用电器电流识别 预告
数据采集:家用电器电流采集 数据分析:电流波形与特征 识别方法: 硬件设置: 算法部署: 电器可能包括:手机充电器、电脑、电视、热水壶等...
Gemini 垂直行业模型路由:按意图选择不同Prompt与参数集
在AI开发社区里,不少工程师都在尝试把多个大模型接入实际项目。工具整合站点作为AI模型聚合平台,让开发者能快速对比Gemini与其他模型在不同行业场景下的表现。今天我们来聊聊如何为Gemini搭建一套垂直行业模型路由机制,根据用户意图自动选择…...
为什么你的课程推荐越来越不准?Perplexity查询功能2024Q2算法升级内幕(附绕过冷启动限制的私有指令)
更多请点击: https://kaifayun.com 第一章:为什么你的课程推荐越来越不准?Perplexity查询功能2024Q2算法升级内幕(附绕过冷启动限制的私有指令) Perplexity 在 2024 年第二季度对课程推荐核心查询模块进行了深度重构&…...
分支管理(二):解决合并冲突,处理“代码打架”
1. 问题场景 你已经学会了创建分支和合并分支。在上一篇文章里,合并过程顺滑得像切黄油——Git 自动完成了所有工作。但真实世界里,你和一个同事可能同时修改了同一个文件的同一处代码。当你试图把两个分支合并在一起时,Git 会停下来…...
