自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 小和问题,数组的逆序对

本文介绍了归并算法的应用,小和问题和数组的逆序对解法一样。 小和问题 在一个数组中,每一个数的左边比其小的元素累加起来,叫做这个数组的小和。 例如,[1,3,2,4,5] 对于3,前面比它小的数有1 对于2,前面比它小的数有1 对于4,前面比它小的数有1,3,2 对于5,前面比它小的数有1,3,2,4 因此,该数组的小和为1+1+1+(1+3+2)+(1+3+2+4)=19 解法: 利用归并排序思...

2019-05-17 14:53:04 136

原创 【LeetCode.215】数组中的第K个最大元素

题目 数组中第k大的元素 在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2 输出: 5 示例 2: 输入: [3,2,3,1,2,4,5,5,6] 和 k = 4 输出: 4 解答 partition 除了用来进行快速排序,还可以用 O(n) 的平均时...

2019-05-16 21:26:25 151

原创 【剑指offer】最小的K个数

方法一:堆排序思想 对n个数建立最小堆,可以得到数组从大到小的排序。 因为只需要最小的k个数,因此只需要调整k次,最后的k个数就是最小的k个数。 O(nlogn) class Solution: def GetLeastNumbers_Solution(self, tinput, k): # write code here def adjust_heap(a...

2019-05-16 21:14:56 123

原创 【剑指offer】数据流中的中位数

数据流中的中位数 本题利用堆排序思想。 首先,使用最大堆和最小堆,保证最大堆的数<最小堆的数。 每次插入和取出都需要调整堆。保持两个堆一样的结点数目,或者最小堆的结点数比最大堆多1。 建堆: 如果已经两个堆结点数目相同,放到最小堆,但如果该数小于最大堆,说明该数应该放到最大堆,插入最大堆之后取最大堆的堆顶插入到最小堆; 如果已经两个堆结点数目不同,即最大堆的数少,应该放到最大堆,但如果该数大...

2019-05-16 21:13:33 143

原创 排序算法初探

排序算法总结插入排序希尔排序选择排序冒泡排序归并排序快速排序堆排序拓展第k小的数前k小的数数据流中的中位数 总结 本文主要介绍常见排序及其python实现。试图用尽可能短的描述解释清楚几种排序算法,权当方便自己理解记忆。 排序方法 平均时间复杂度 最坏时间复杂度 最好时间复杂度 稳定性 插入排序 O(n2)O(n^2)O(n2) O(n2)O(n^2)O(n2) O(n)O(n)O...

2019-05-15 23:20:28 182

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除