题目描述:输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。 i c } m l p a o s r s f } f } t u / u F n 快 n F o c 排 c o r i } v v v v w } r p l v v w } n r u 3 t f a a a a h e a p e a a h [ e n 0 o r r r r i t r a t r r i l t d S p n l u t r l e u a o K . r n s e i e i } i } r i t t l r e w } n w } n f r t l ( c e u t n n f f n t i e e i h [ h [ t n i u _ o t m a d d i i t m f g l i l i r ] o t u u s r e n i i A o i p t h e l e l i l n i n n r t = x d n e i n s i r n o t f e r f e l g = e o : t n = e d n n d t n r n = = t i t e h f n = n = x e d d e a d a ( = l g ] l f t t t [ = [ n . x e x r e y _ n l < e h e t ] e { I = ] 0 c p ! = x t x ( [ e r f t = f m n o a = > < n n l f i r t t + = p t 0 u r i = = = u : e t g i - n = ] n t m m n m m f I h g < = [ < n , t i i i d p i i p s i t n t h r 1 [ _ t n n e a n n a [ n I I t r 1 i r l - i K K x r K d r 0 o n n i g i e m m o t e t . u ] { g h g f i i 1 n - - - i - x i . t h t h t n n ( t t < t ] t ] K K & 1 1 1 i 1 + i m [ : n o o i I & & = u { { n { 1 n n n & & I = m ( ( K t n s & & ] ] n n t 0 , n n ) , [ [ ) u u _ r l { s m m i e t s s l g f a , , e h t r f t ] [ t s s t ] I , t t I < n a a n > = t e r r : = ] n t t t d , , I t e { ) n e m e e t m p n n , p d d _ { ) ) { r i g h t I n : I n t ) I n t { 算法思想:利用快速排序划分的思想,每一次划分就会有一个数字位于以数组从小到达排列的的最终位置index;最后index=K就完成了。 github地址:https://github.com/cubegao/LeetCode