![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序
huixiaowangshu
这个作者很懒,什么都没留下…
展开
-
整数排序
问题描述:给一组整数,按照升序排序,使用选择排序,冒泡排序,插入排序或者任何 O(n2) 的排序算法。 样例对于数组 [3, 2, 1, 4, 5], 排序后为:[1, 2, 3, 4, 5]。思路:最基本的几个O(n2)的排序算法,选择排序,冒泡排序和插入排序。冒泡排序,遍历数组,把当前数字的后面所有的数字都遍历一遍,遇到小的跟当前数字交换,原创 2017-06-01 16:52:35 · 459 阅读 · 0 评论 -
两数之和
1.问题描述:给一个整数数组,找到两个数使得他们的和等于一个给定的数 target。 你需要实现的函数twoSum需要返回这两个数的下标, 并且第一个下标小于第二个下标。注意这里下标的范围是 1 到 n,不是以 0 开头。样例给出 [3, 2, 1, 4, 5], 排序后的结果为 [1, 2, 3, 4, 5]。2.思路:双重循环,判断原创 2017-06-01 17:20:25 · 210 阅读 · 0 评论 -
两数组的交
问题描述:返回两个数组的交样例nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2].思路:先将两数组排序,再遍历两数组,找到两数组中相同的元素。注意重复的元素只返回一个。代码:class Solution {public: /** * @param nums1 an integer array * @原创 2017-06-07 22:08:53 · 131 阅读 · 0 评论 -
两数组的交2
问题描述:计算两个数组的交原创 2017-06-08 16:37:52 · 138 阅读 · 0 评论 -
整数排序2
问题描述:给一组整数,按照升序排序。使用归并排序,快速排序,堆排序或者任何其他 O(n log n) 的算法。样例给出 [3, 2, 1, 4, 5], 排序后的结果为 [1, 2, 3, 4, 5]。思路:题目限制为时间复杂度为O(n log n),sort()函数满足。代码:class Solution {public: /** * @par原创 2017-06-08 16:54:06 · 159 阅读 · 0 评论 -
合并区间
问题描述:给出若干闭合区间,合并所有重叠的部分。样例给出的区间列表 => 合并后的区间列表:[ [ [1, 3], [1, 6], [2, 6], => [8, 10], [8, 10], [15, 18] [15, 18] ]原创 2017-06-08 17:38:59 · 211 阅读 · 0 评论 -
中位数
问题描述:给定一个未排序的整数数组,找到其中位数。中位数是排序后数组的中间值,如果数组的个数是偶数个,则返回排序后数组的第N/2个数。样例给出数组[4, 5, 1, 2, 3], 返回 3给出数组[7, 9, 4, 5],返回 5思路:首先对数组进行排序,然后判断数组的个数,返回中位数。代码:class Solution {public: /**原创 2017-06-08 17:57:04 · 159 阅读 · 0 评论 -
排序专题总结
排序的方法有很多,主要学习了直接插入排序,希尔排序,快速排序,堆排序,归并排序,分配排序等。通过本专题的练习,发现排序的方法多种多样是非常灵活的。对于算法没太大要求,除了时间复杂度的限制。而且通过排序可以更容易地解决其他应用问题。原创 2017-06-11 21:50:41 · 171 阅读 · 0 评论