方法一:好吧,比较丑陋的方法,不过是自己写出来的...借鉴了快排partition的思想 方法二:两个指针,两头往中间走,方法一中只是从一端开始走,导致程序太过复杂 方法三: ...
分类:
其他好文 时间:
2016-09-11 10:11:06
阅读次数:
149
Find the kth largest element in an unsorted array. Note that it is the kth largest element in the sorted order, not the kth distinct element.
For example,
Given [3,2,1,5,6,4] and k = 2, return 5.
...
分类:
其他好文 时间:
2015-08-20 18:58:12
阅读次数:
157
问题描述:
给一个数组,并且数组里面元素的值只可能是0,1,2,然后现在把这个数组排序。
另外一种表述: 现有n个红白蓝三种不同颜色的小球,乱序排列在一起,请通过两两交换任意两个球,使得从左至右,依次是一些红球、一些白球、一些蓝球。
解题思路:
采用快速排序partition的思想,用两个指针将三种颜色间隔开。
下面引用此处内容 July 编程艺术系列中荷兰国旗问题。
一个...
分类:
编程语言 时间:
2015-06-08 09:45:17
阅读次数:
213
最近复习快排算法,记得当时最有意思的是可以用快排的partition函数求出第K小数
于是上网搜索一番,发现都只是贴出了代码。无奈只好自己研究了下
利用快排partition求第k小数不得不从partition函数开始说:
快速排序的思想是在一组待排序的数中,找出一个数作为分界,使得它前面的数都比它小,后面的数都比它大。这个数叫做枢轴
当求出一组数的枢轴以后,一组数就可以以枢轴为界...
分类:
其他好文 时间:
2014-11-30 23:19:15
阅读次数:
312
1 /* 2 不改变正负号序列,使得负数在正数前面,要求O(n),时间复杂度,O(1)空间复杂度 3 实际情况,很可能做不到,可以用类似快排partition的方法,但是不能保证有序了,保证有序的一个方法是用翻转,例如 4 2,3,4,-1,-2,3,-5,-6——————翻转为2,3,4,-1,....
分类:
其他好文 时间:
2014-07-25 02:24:24
阅读次数:
209