摘要: 题目描述 输入一个非空整型数组,数组里的数可能为正,也可能为负。 数组中一个或连续的多个整数组成一个子数组。求所有子数组的和的最大值。 要求时间复杂度为O(n)。 样例: 解法 使用动态规划 F(i):以array[i]为末尾元素的子数组的和的最大值,子数组的元素的相对位置不变 F(i)=max(F 阅读全文
posted @ 2019-08-02 20:02 亦海 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 题目描述 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。 解法 阅读全文
posted @ 2019-08-02 19:20 亦海 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入 n 个整数,找出其中最小的 K 个数。例如输入 4,5,1,6,2,7,3,8 这 8 个数字,则最小的 4 个数字是 1,2,3,4。 解法 解法一 利用快排中的 partition 思想。 数组中有一个数字出现次数超过了数组长度的一半,那么排序后,数组中间的数字一定就是我们要找的 阅读全文
posted @ 2019-08-02 17:38 亦海 阅读(119) 评论(0) 推荐(0) 编辑