编程之美 N个正整数的数组 寻找丢失的数 和 寻找唯一重复的数
来源:互联网 发布:奥卡姆剃刀通信知乎 编辑:程序博客网 时间:2024/04/30 17:06
①n-1个整数,并未排序,元素师1~n中不同整数 如何寻找序列中缺少的整数?请写一个线性的算法。
思想:
首先,求得所有元素的和SUM,T=O(n)
再计算N个数的和为n(n+1)/2
所以缺少的整数为: n(n+1)/2 -SUM
②n+1个整数,并未排序,元素师1~n中不同整数 如何寻找序列中唯一重复的数?
解法一:类似于上面的求和解法,SUM - n(n+1)/2
解法二:异或法:
for(int i :0->n)
{
tmp =0^a[i]; //因为j^j=0,所以这步骤是消除了重复的数
tmp^=i; //把所有tmp的N个数异或,只有重复的数没被异或掉
}
解法三:位图(略)
解法四:hash
解法五:将数组改写成链表,然后类似于单链表找环,设置两个指针,一快一慢(快:f=p->next->next;慢:s= p-next;),去找环的点(即重复的数)
0 0
- 编程之美 N个正整数的数组 寻找丢失的数 和 寻找唯一重复的数
- 编程之美(寻找丢失的数)
- 寻找丢失的数
- 寻找数组中唯一的数
- 寻找重复的数
- 寻找重复的数
- 数组中寻找重复的数
- 寻找丢失的三个数
- 编程之美--寻找满足条件的两个数
- 编程之美-快速寻找满足条件的两个数
- 编程之美--快速寻找满足条件的两个数
- [编程之美]快速寻找满足条件的两个数
- 编程之美--寻找满足条件的两个数 .
- 《编程之美》:快速寻找满足条件的两个数
- 编程之美2.5 寻找第k大的数
- 编程之美--快速寻找满足条件的两个数
- 编程之美快速寻找满足条件的两个数
- 寻找丢失的第一个正整数
- 作为一个C#程序员,你到底能够达到什么级别?测试一下吧
- instsrv将应用程序注册为系统服务
- android图片缩放双击旋转效果
- XP用户不要安装kb2949787补丁
- 矩阵乘法求解线性递推(二)
- 编程之美 N个正整数的数组 寻找丢失的数 和 寻找唯一重复的数
- 用Supersonic实现query的查询
- 实战Memcached缓存系统(1)Memcached基础及示例程序
- eclipse中繁体更改为简体
- 自增表的自增id的插入(IDENTITY_INSERT)
- webkit显示未加载到的图片时,如何自定义指定该图片,或者屏蔽该显示
- Device ‘xx' is already labeled for ASM disk 的故障处理
- 别了,华为
- norflash驱动编写