![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法-排序
扎克begod
喜欢算法、数据结构,大数据开发,性能优化,源码分析,高并发、低能耗、高容错、可扩展、解耦合架构设计。
展开
-
leetcode合并区间- 附有算法详细解析注释
给出一个区间的集合,请合并所有重叠的区间。示例 1:输入: [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例 2:输入: [[1,4],[4,5]]输出: [[1,5]]解释: 区间 [1,4] 和 [4,5] 可被视为重叠区间。...原创 2018-08-29 18:16:32 · 1375 阅读 · 0 评论 -
两个数组的交集-Intersection of Two Arrays执行高效算法
给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [9,4]说明:输出结果中的每个元素一定是唯一的。 我们可以不考虑输出结果的顺序。题目很简单,我们可以利用hashset的特...原创 2018-09-04 17:09:04 · 1314 阅读 · 0 评论 -
两个数组的交集 II Intersection of Two Arrays II-巧妙使用list结构
给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2,2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [4,9]说明:输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致。 我们可以不考虑输出结果的顺序。进阶:...原创 2018-09-04 18:13:44 · 258 阅读 · 0 评论 -
白话经典算法快速排序-快速搞定
快速排序算法和归并排序,都是由于时间复杂度只有O(N*logN),得到大量使用。快速排序的核心思想就是分而治之,我每次处理只负责将一个元素的位置排序正确,其他就先不管。那分而治之,递归处理后,所有元素都回到有序的正确位置,排序就完成了。 算法的时间复杂度,N就是因为,需要给每个元素都进行一次调整排序。而logN的时间复杂度,就是给元素调整排序,需要进行拆半数据递归。算...翻译 2018-09-05 11:52:23 · 301 阅读 · 0 评论 -
排序链表Sort List-经典快速排序实现链表排序
在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。示例 1:输入: 4->2->1->3输出: 1->2->3->4示例 2:输入: -1->5->3->4->0输出: -1->0->3->4->5 基于快速排序思想去实现,而且链表的排序,在code里,我原创 2018-09-05 14:16:08 · 1394 阅读 · 0 评论