◆◆问: 如何得到一整型数组中没有的最小的正整数
如:现有数组 [1,2,4,5]
应该得到的数字是 3
数组 [1,2,3,4,5]
应该得到的数字是 6
问题点数:20、回复次数:3Top
1 楼ptma(守望者)回复于 2005-04-17 17:10:18 得分 0
当然遍历数组 判断是可以实现的
但是有没有简洁的算法呢?Top
2 楼Hank(星星农场)回复于 2005-04-17 22:44:23 得分 10
从数组的长度及起始值判断然后用二分判断即可Top
3 楼jinjazz(近身剪)回复于 2005-04-17 22:53:45 得分 10
不管你怎么优化也需要每个元素访问一次,除非事先用一个大数组保存下来
比如a[1..255]
a[1]:=1;
a[2]:=1;
a[3]:=0;
a[4]:=1;
a[5]:=1;
...
遍历数组a,在最好情况下只需要一次就可以找到,比如a[1]=0的时候,最差情况下全部遍历
Top




