面试题:如何从100个数组中选出最小的前100个数
现在有100个数组,每个数组都有100个数。并且每个数组的元素都是从小到大排列的。
如何从中选出最小的前100个数。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
现在有100个数组,每个数组都有100个数。并且每个数组的元素都是从小到大排列的。
如何从中选出最小的前100个数。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
直接使用归并排序就可以吧?而且只需要排出前一百个元素即可,其它的可以忽略。
100个数组的数组元素合成一个10000个数的数组,然后按值递增排序,取前100个,这个运算次数是 10000 * 10000 = 一亿?有说要考虑性能啥的吗?
还有个思路就是每次都取数组的第一个元素来比较,找最小的,然后取出,再从所在的数组剔除这个(第一个)元素,然后再取每个数组取第一个再比较,进行100次,运算次数是 100 * 100 = 10000 次
每次取数组的第一个元素比较,相同则比较第二个,依次排序