【位运算】Leetcode 消失的两个数字

题目解析

面试题 17.19. 消失的两个数字

在这里插入图片描述


算法讲解

在这里插入图片描述
我们将这两个数组异或在一起,最后的结果就是a ^ b(缺失的两个数字)的结果,这两个缺失的数字一定是不相同的,所以我们就寻找他们第一个比特位是1的那个位置,异或的原理是:相同为0, 不同为1,按照这个位置将数组划分成两部分,一部分是这一位上是1的,另一部分是这一位上是0的,然后将两个数组的两个部分异或在一起,就得到缺失的两个数字

class Solution {
public:vector<int> missingTwo(vector<int>& nums) {int n = nums.size() + 2;int sum = 0;for(auto e : nums)sum ^= e;for(int i = 1; i <= n; i++){sum ^= i;} //之后 sum 就是保存的缺失的两个数字的异或结果int ret1 = 0, ret2 = 0, index = 0;//寻找两个缺失数字的第一的不相同的比特位while((sum & (1 << index)) == 0){index++;}index = (1 << index);//划分成两组for(auto e : nums){if(e & index)ret1 ^= e;elseret2 ^= e;}for(int i = 1; i <= n; i++){if(i & index)ret1 ^= i;elseret2 ^= i;}return {ret1, ret2};}
};

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

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

相关文章

半导体存储电路知识点总结

目录 一、SR锁存器 1.SR锁存器的概念 2.作用 二、电平触发器&#xff08;Flip-Flop&#xff09; 1.时钟信号 2.电平触发的触发器电路结构 3.带异步置位复位的电平触发器 三、边沿触发器 1.特点 2.两个D触发器组成的边沿触发D触发器 3.CMOS边沿触发D触发器的典型电路 …

FMEA分析

目录 1、FMEA的核心目的 2、FMEA的种类 3、FMEA的实施步骤 4、FMEA的SOD等级 5、FMEA的例子 FMEA&#xff08;Failure Modes and Effects Analysis&#xff0c;失效模式与影响分析&#xff09;是一种预防性的可靠性设计分析&#xff0c;用来确定潜在失效模式及其原因。它主…

【Altium Designer 20 笔记】PCB线宽与过孔尺寸

电源线&#xff1a;40mil1A&#xff08;一般翻倍给&#xff09;,地线比电源线粗一点即可&#xff1b;信号线&#xff1a;10-15mil 一、线宽 市电的火线和零线&#xff1a;80-100mil12V /24V 20mil~60mil 5V 20-30mil 3V 20-30mil GND 越宽越好20-30mil普通信号线 10mil-15mil…

比亚迪老总王传福:雨天走访县级市场,生活方式却如此简单

近期&#xff0c; 世界汽车销售排名前十的老板亲自下到一线市场调研&#xff0c;这听起来像是个奇迹&#xff0c;但这就是我们今天要说的主角——比亚迪老总王传福的故事。他不仅亲自去现场调研&#xff0c;还时常挤地铁、吃盒饭、坐经济舱&#xff0c;这和那些高高在上的企业领…

flink network buffer

Flink 的网络协议栈是组成 flink-runtime 模块的核心组件之一&#xff0c;是每个 Flink 作业的核心。它连接所有 TaskManager 的各个子任务(Subtask)&#xff0c;因此&#xff0c;对于 Flink 作业的性能包括吞吐与延迟都至关重要。与 TaskManager 和 JobManager 之间通过基于 A…

【ZZULIOJ】1064: 加密字符(Java)

目录 题目描述 输入 输出 样例输入 Copy 样例输出 Copy code 题目描述 从键盘输入一批字符&#xff0c;以结束&#xff0c;按要求加密并输出。 输入 从键盘输入一批字符&#xff0c;占一行&#xff0c;以结束。 输出 输出占一行 加密规则: 1&#xff09;所有字母均转…

YOLOv8最新改进系列:融合DySample超轻量动态上采样算子,低延迟、高性能,目前最新上采样方法!!!遥遥领先!

YOLOv8最新改进系列&#xff1a;融合DySample超轻量动态上采样算子&#xff0c;低延迟、高性能&#xff0c;目前最新上采样方法&#xff01;&#xff01;&#xff01;遥遥领先&#xff01; DySample超轻量动态上采样算子全文戳这&#xff01;here! 详细的改进教程以及源码&am…

C# 基础语法 学习笔记

1.C#基础语法 1.1 泛型 泛型是 C# 推出的一个重要语法,泛型允许在编写方法或类是定义一些未确定的类型参数。它提供了类型安全且高效的数据结构和算法,同时也可以避免装箱和拆箱操作,提高代码的复用性(编程时,出现相似的模块,这加大我们的工作量,如果使用泛型可以让多个…

在EC2上面安装Skywalking9.7.0

问题 前几天在k8s集群安装了skywalking&#xff0c;说什么这种方式不行&#xff0c;客户要求单独在一台linux机器安装skywalking。现在我们来解决这个问题。 步骤 # 移动到/opt目录 cd /opt # 下载apm安装包 sudo wget https://dlcdn.apache.org/skywalking/9.7.0/apache-sk…

超越GPT-4V!马斯克发布Grok-1.5 With Vision

在 Grok-1 开源后不到一个月&#xff0c;xAI 的首个多模态模型就问世了。Grok-1.5V是XAI的第一代多模态模型&#xff0c;除了其强大的文本处理能力之外&#xff0c;Grok现在还能够处理包括文档、图表、图形、屏幕截图和照片在内的各种视觉信息。相信Grok-1.5V将很快提供给现有的…

ViT——nlp和cv进行了统一,使多模态成为可能

题目:AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE 1.概述之前的transformer在cv中应用,大部分是将CNN模型中部分替换成transformer block(整体网络结构不变)或者用transformer将不同网络连接起来,而本文提出:一个针对图像patch的纯的t…

WebShell简介

WebShell简介 1、WebShell分类 • JSP类型 • ASP类型 • PHP类型 2、WebShell用途 • 站长工具 • 持续远程控制 • 权限提升 • 极强隐蔽性 3、WebShell检测方法 • 基于流量的 WebShell 检测 • 基于文件的 WebShell 检测 • 基于日志的 WebShell 检测 WebShe…

看到这12这个登录页,我感觉自己的很多登录白设计啦。

登录页是B端系统的脸面&#xff0c;它是B端系统的入口&#xff0c;是用户与系统之间的第一道门槛。登录页的设计直接影响用户对系统的第一印象&#xff0c;因此登录页的设计应该简洁、清晰、易于使用&#xff0c;并且能够符合用户的需求和期望。

深度学习框架

深度学习框架 1 引言 在当今技术加速发展的时代&#xff0c;深度学习已经成为了人工智能领域内最为引人注目的子领域之一。其在图像识别、自然语言处理、自动驾驶等多个行业中的成功应用&#xff0c;已经证明了深度学习在解决复杂问题方面的巨大潜力。然而&#xff0c;深度学习…

DDoS攻击和DoS(拒绝服务)

文章目录 概述DDoS攻击几种形式防止DDoS攻击可以采取多种措施DoS&#xff08;拒绝服务&#xff09; 概述 DDoS攻击是指分布式拒绝服务攻击&#xff08;Distributed Denial of Service&#xff09;&#xff0c;它是一种网络攻击手段&#xff0c;旨在使目标系统无法提供正常的服…

航芯通用MCU技术常见问题 | F4专题

日常工作中&#xff0c;我们的销售或技术工程师经常会收到来自用户的问题&#xff0c;其中一些问题是比较常见的&#xff0c;所以为满足日常用户对航芯产品使用及服务的了解&#xff0c;航芯特此推出“通用MCU技术常见问题”专题&#xff0c;分为F0专题及F4专题&#xff0c;欢迎…

32单片机入门持续更新中

配套资料为野火霸道V2 初识 STM32 4.1 什么是 STM32 STM32&#xff0c;从字面上来理解&#xff0c;ST 是意法半导体&#xff0c;M 是 Microelectronics 的缩写&#xff0c;32 表示 32 位&#xff0c;合起 来理解&#xff0c;STM32 就是指 ST 公司开发的 32 位微控制器。在如今…

如何在Vue3中使用H.265视频EasyPlayer.js流媒体播放器?

H5无插件流媒体播放器EasyPlayer属于一款高效、精炼、稳定且免费的流媒体播放器&#xff0c;可支持多种流媒体协议播放&#xff0c;可支持H.264与H.265编码格式&#xff0c;性能稳定、播放流畅&#xff0c;能支持WebSocket-FLV、HTTP-FLV&#xff0c;HLS&#xff08;m3u8&#…

代码随想录算法训练营第三十四天 | 贪心算法part03

题目&#xff1a; 1005.K次取反后最大化的数组和 134. 加油站 135. 分发糖果 学习内容&#xff1a; 1005.K次取反后最大化的数组和 这道题要分为两步&#xff0c;首先对数组进行排序&#xff0c;然后对其中的负数取反。如果这时候k还没有消耗完&#xff0c;就对处理后的数组再…

【开源鸿蒙】调试OpenHarmony轻量系统QEMU RISC-V版本

【开源鸿蒙】调试OpenHarmony轻量系统QEMU RISC-V版本 一、准备工作1.1 编译OpenHarmony源码1.2 确认OHOS_Image已生成1.3 确认OHOS_Image文件是否有调试信息1.4 检查config.gni文件是否有-g编译选项 二、GDB调试2.1 启动QEMU模拟器2.2 启动GDB调试器2.3 连接QEMU模拟器2.4 使用…