排序
六种鱼
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LintCode 中位数/第K大元素
给定一个未排序的整数数组,找到其中位数。中位数是排序后数组的中间值,如果数组的个数是偶数个,则返回排序后数组的第N/2个数。给出数组[4, 5, 1, 2, 3], 返回 3给出数组[7, 9, 4, 5],返回 5Challenge 时间复杂度为O(n)若利用快排排序之后再查找,时间复杂度为O(nlgn)。快排每次处理划分之后的两侧,在这里查找中位数只需要处理一侧,时间复杂度为O(n)。pub原创 2017-09-25 10:03:43 · 267 阅读 · 0 评论 -
LintCode 两数之和
给一个整数数组,找到两个数使得他们的和等于一个给定的数 target。你需要实现的函数twoSum需要返回这两个数的下标, 并且第一个下标小于第二个下标。注意这里下标的范围是 1 到 n,不是以 0 开头。Notice你可以假设只有一组答案。Example 给出 numbers = [2, 7, 11, 15], target = 9, 返回 [1, 2]. Either of the foll原创 2017-09-26 11:20:35 · 316 阅读 · 0 评论 -
LintCode 最接近零的子数组和
给定一个整数数组,找到一个和最接近于零的子数组。返回第一个和最右一个指数。你的代码应该返回满足要求的子数组的起始位置和结束位置样例 给出[-3, 1, 1, -3, 5],返回[0, 2],[1, 3], [1, 1], [2, 2] 或者 [0, 4]。任意子数组的和,可由两个前缀和相减得到。前缀和是指从数组第一个元素到数组中某个元素的子数组的和。题目要求子数组的和最接近零,那么就是要求两个前缀原创 2017-10-18 21:31:51 · 593 阅读 · 0 评论 -
LintCode 逆序对
在数组中的两个数字如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。给你一个数组,求出这个数组中逆序对的总数。 概括:如果a[i] > a[j] 且 i < j, a[i] 和 a[j] 构成一个逆序对。样例 序列 [2, 4, 1, 3, 5] 中,有 3 个逆序对 (2, 1), (4, 1), (4, 3),则返回 3 。1.直接暴力求解,找到所有对,检查是不是逆序的。 2.利原创 2017-10-19 16:49:15 · 271 阅读 · 0 评论
分享