摘要: 面试题40. 最小的k个数 问题描述: 输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。 解题思路: 这题不要直接使用 sort(arr.begin(), arr.end() ) 函数; 时间复杂度:O(n\lo 阅读全文
posted @ 2020-03-20 12:02 Ternence_zq 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 解题思路: 开始思路想的是两个数组有序,通过两个数组相互对比,那么把寻找第k小的数转换成选择最小数,找到之后跳过,然后循环k次,这样必须循环k次,而且每次还要对比,时间复杂度太高。 优化之后,解题思路与下面这个很类似。 递归训练1:在两个长度相等的排序数组中找到上中位数 每次寻找时,将两个数组mid 阅读全文
posted @ 2020-03-20 11:05 Ternence_zq 阅读(276) 评论(0) 推荐(0) 编辑