#寻找最小的k个数#
文章平均质量分 78
Voidwalkerxiaohui
西安电子科技大学CS硕士在读关注图像处理算法研究字典学习人工智能数学等学科研究方向希望结识更多同道中人
展开
-
取数组/序列之和k最小
题目1:谷歌面试题——输入是两个整数数组,他们任意两个数的和又可以组成一个数组,求这个和中前k个数怎么取? 分析: “假设两个整数数组为A和B,各有N个元素,任意两个数的和组成的数组C有N^2个元素。 那么可以把这些和看成N个有序数列: A[1]+B[1] A[2]+B[1] … A[N]+B[1] 问题转变成,在这N^2个有序数列里,找到前k小的元素” 题目2:有两个序列原创 2014-08-06 09:22:01 · 1019 阅读 · 0 评论 -
寻找最小的k个数
题目:输入n个整数,输出其中最小的k个 思路一、快速排序+遍历 先对n个整数快速排序,平均所费的时间为nlogn,之后再遍历序列中前k个元素的输出 (总的时间复杂度为O(nlogn+k) = O(nlogn)) 思路二、选择排序+遍历 1、遍历n个数,把最先遍历到的k个数存入到大小为k的数组中,假设它们即使最小的k个数; 2、对这k个数利用交换排序找出这k个元素中的最大值kmax,原创 2014-08-06 09:16:23 · 811 阅读 · 0 评论