个人心得:在买的书上看到的一个经典分治题,题目意思就是给定一个数组,求第k小的数. 第一反应就是排序,然后返回第k-1位置的数就可以了,这样算法的复杂度是nlongn,在快速排序的基础下还是挺不错的. 不过为了学习分治法还是换种思路,这也是建立在快速排序的方法,因为快排是以第一个作为标准,比他小的数在左边,大的数在右边. 所以此时就有nleft表示左边的个数 1:如果nleft=k-1,那么此时flag必然是第k小的数 2:如果大于,那么就在左边找就好了,问题规模变小了 3:如果小于,去右边,不…