找丢失的数

本文介绍了一种高效的方法来找出从1到n的整数序列中缺失的一个或两个数字。通过使用位运算和数学公式,可以快速找到缺失的数字而不需要额外的空间。对于缺失一个数的情况,使用异或操作;当有两个数缺失时,则利用等差数列求和公式和平方和公式求解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://fayaa.com/tiku/view/2/

有一组数字,从1到n,中减少了一个数,顺序也被打乱,放在一个n-1的数组里。找到丢失的数。


1. 用位图

2. 1^2^3^4^....^n,再接着xor缺少数的那个数组,得到缺少的那个数



如果缺少两个数,找到这里这两个数


用1+2+...+n减去当前输入数据的总和可以得到x+y;用1^2+2^2+...+n^2减去当前输入数据的平方和可以得到x^2+y^2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值