
排序
菲菲飞xiu
这个作者很懒,什么都没留下…
展开
-
LintCode-整数排序
题目描述:给一组整数,按照升序排序,使用选择排序,冒泡排序,插入排序或者任何 O(n2) 的排序算法。样例:对于数组 [3, 2, 1, 4, 5], 排序后为:[1, 2, 3, 4, 5]。做题思路:题目要求时间复杂度不超过O(n2)的算法,而sort函数恰好符合要求,从向量数组中的头到尾进行升序排序。关键代码:class Solution {publ原创 2017-06-02 16:57:18 · 241 阅读 · 0 评论 -
LintCode-整数排序 II
题目描述:给一组整数,按照升序排序。使用归并排序,快速排序,堆排序或者任何其他 的排序算法。样例:给出 [3, 2, 1, 4, 5], 排序后的结果为 [1, 2, 3, 4, 5]。做题思路:这一题同前面一题一样,也是为整数进行升序排序,但不同的是时间复杂度变了,而sort函数不仅符合上一题的要求,更符合这一题的要求,因为sort函数的时间复杂度正好是 O(n原创 2017-06-02 17:03:31 · 228 阅读 · 0 评论 -
LintCode-两数之和
题目描述:给一个整数数组,找到两个数使得他们的和等于一个给定的数 target。你需要实现的函数twoSum需要返回这两个数的下标, 并且第一个下标小于第二个下标。注意这里下标的范围是 1 到 n,不是以 0 开头。样例:给出 numbers = [2, 7, 11, 15], target = 9, 返回 [1, 2].做题思路:这一题比较简单,就是用原创 2017-06-02 17:10:18 · 2995 阅读 · 2 评论 -
LintCode-两数组的交 II
题目描述:计算两个数组的交 注意事项每个元素出现次数得和在数组里一样答案可以以任意顺序给出样例:nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2, 2].做题思路:先给两个数组进行排序,方便比较,在两个数组长度之内进行比较,如果数值相等,放进新数组中,然后两个数组的下标同时移动,如果不相等原创 2017-06-02 17:31:25 · 311 阅读 · 0 评论 -
LintCode-两数组的交
题目描述:返回两个数组的交 注意事项Each element in the result must be unique.The result can be in any order.样例:nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2].做题思路:和“两数组的交2”的思想差不多,但是要加上一原创 2017-06-02 19:42:38 · 352 阅读 · 0 评论 -
LintCode-中位数
题目描述:给定一个未排序的整数数组,找到其中位数。中位数是排序后数组的中间值,如果数组的个数是偶数个,则返回排序后数组的第N/2个数。样例:给出数组[4, 5, 1, 2, 3], 返回 3给出数组[7, 9, 4, 5],返回 5做题思路:先用sort 函数对数组进行升序排序,然后取数组长度,如果能整除2,则为偶数长度数组,取除二的商;如果不能原创 2017-06-02 20:35:07 · 436 阅读 · 0 评论 -
LintCode-合并区间
题目描述:给出若干闭合区间,合并所有重叠的部分。样例:给出的区间列表 => 合并后的区间列表:[ [ [1, 3], [1, 6], [2, 6], => [8, 10], [8, 10], [15, 18] [15, 18] ]原创 2017-06-08 16:54:53 · 523 阅读 · 0 评论 -
LintCode-排序专题总结
排序专题提交记录:排序专题做题感想:刚开始做整数排序的题,想用归并排序和快速排序之类最近学习的排序方法做题,但是不会,写的代码有很多错误而且没有办法改,没办法只能用了符合题目要求的sort 函数,而后面的题相对好做一些,没有用到太多排序方面的算法,用的最多的都是sort 函数,我先做的两数组之和,发现很简单,做完之后想用同样的思路做两数组的交,发现情况不同,每比较一次,就读入了一次相同的元原创 2017-06-08 17:50:28 · 333 阅读 · 0 评论