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

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

慕码人2483693
浏览 1432回答 2
2回答

冉冉说

100个数组的数组元素合成一个10000个数的数组,然后按值递增排序,取前100个,这个运算次数是 10000 * 10000 = 一亿?有说要考虑性能啥的吗?还有个思路就是每次都取数组的第一个元素来比较,找最小的,然后取出,再从所在的数组剔除这个(第一个)元素,然后再取每个数组取第一个再比较,进行100次,运算次数是 100 * 100 = 10000 次

陪伴而非守候

直接使用归并排序就可以吧?而且只需要排出前一百个元素即可,其它的可以忽略。
打开App,查看更多内容
随时随地看视频慕课网APP