面试题:如何从100个数组中选出最小的前100个数

现在有100个数组,每个数组都有100个数。并且每个数组的元素都是从小到大排列的。
如何从中选出最小的前100个数。

阅读 4.7k
3 个回答

直接使用归并排序就可以吧?而且只需要排出前一百个元素即可,其它的可以忽略。

100个数组的数组元素合成一个10000个数的数组,然后按值递增排序,取前100个,这个运算次数是 10000 * 10000 = 一亿?有说要考虑性能啥的吗?

还有个思路就是每次都取数组的第一个元素来比较,找最小的,然后取出,再从所在的数组剔除这个(第一个)元素,然后再取每个数组取第一个再比较,进行100次,运算次数是 100 * 100 = 10000 次

每次取数组的第一个元素比较,相同则比较第二个,依次排序

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题