2013 百度校招 研发工程师 一道笔试题??
问题在:http://bbs.fishc.com/thread-22394-1-1.html 欢迎踊跃发言!!我们首先取20个数组的第一个数据进行比较,取出这20个数里面的最大值。因为数组里面的数据都是降序排列的,所以这20个数的最大值也就是10000个数中的最大值。然后将取出这个最大值的那个数组里面的元素减一。也就是让原来的数值向前顺移动,即array=array……。
重复这个比较500次,取出的500个数应该就是这10000个数里面的最大值…… array=array 学习一下 涅槃的龙 发表于 2012-11-7 15:00
我们首先取20个数组的第一个数据进行比较,取出这20个数里面的最大值。因为数组里面的数据都是降序排列的, ...
想法是可以的,但是数组中的元素向前移动会耗费大量时间,n方级的,我的想法是给每个数组安排一个游标,哪个数组中的元素“取出"后就将游标移向下一位,然后参与下一次20个数的比较
页:
[1]