博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
寻找缺失的数字...
阅读量:2439 次
发布时间:2019-05-10

本文共 670 字,大约阅读时间需要 2 分钟。

 

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

请找出丢失的数字,最好能有程序,最好算法比较快

 

 

由于数组中的元素都是1~n之间的数, 把数组中的每个元素与他的序号做异或, 然后把这些所有的结果在做异或, 最终的结果就是缺失的那个数, 1 ^1 ^2^2 ^3 = 3;

 

 

如果对空间没有要求, 就是用bitmap, 申请个n个元素的位数组ass[n + 1], 然后遍历原数组a[], 将相应的ass[a[i]]置为1, 等遍历完后, 看看ass[]数组中那个元素还没有被赋值, 就是缺失的那个数字了... 

 

转载地址:http://ojkqb.baihongyu.com/

你可能感兴趣的文章
Linux内核编译实战-linux配置、编译内核实用工具(转)
查看>>
微软宣布将在我国投资9亿美元(转)
查看>>
异曲同工:MySQL与ASP.NET配合更强大(转)
查看>>
Linux硬件工程师大会即将召开!(转)
查看>>
Linux再遇能否使用专有代码老问题(转)
查看>>
Solaris中文语言包问题终结(转)
查看>>
Solaris 与系统信息有关的操作命令(转)
查看>>
恢复SDS中坏掉的一块硬盘的数据(转)
查看>>
利用 Kylix3 从 Windows 迁移到 Linux(转)
查看>>
Linux版本痛失桌面市场,标准将出炉(转)
查看>>
Solaris 10第二次更新的要点(转)
查看>>
Windows使用Apche并查看MySQL数据库(转)
查看>>
Shell 符号(转)
查看>>
Fedora Core 6 Pre release images available(转)
查看>>
linux下配置APACHE2.0.50+PHP5.0.3+MYSQL4.0.20+GD库(转)
查看>>
JAVA基础:我个人的面向对象的程序观(转)
查看>>
Linux操作系统内存管理的源码实现(转)
查看>>
RedHat 9上用iptables做NAT网关+远程使用kiwisyslog记录日志(转)
查看>>
root文件系统的一点经验(转)
查看>>
双系统 linux and winodws ,在windows重装以后(转)
查看>>