题解 | #最小的K个数#

最小的K个数

http://www.nowcoder.com/practice/6a296eb82cf844ca8539b57c23e6e9bf

不让我用Arrays.sort我就用快排

import java.util.ArrayList;
import java.util.Arrays;

public class Solution {
    public ArrayList<Integer> GetLeastNumbers_Solution(int [] input, int k) {
        if(input.length>1){
            int left = 0;
            int right = input.length-1;
            QuickSort(input,left,right);
        }
//         Arrays.sort(input);
        ArrayList<Integer> ans = new ArrayList<Integer>();
        for(int i = 0; i < k; i++){
            ans.add(input[i]);
        }
        return ans;
    }

    public void QuickSort(int[] arr,int left,int right){
        if(left>right){
            return;
        }
        int base = arr[left];
        int i = left;
        int j = right;
        while(i<j){
            while(i<j && arr[j]>=base){
                j--;
            }
            while(i<j && arr[i]<=base){
                i++;
            }
            int temp = arr[i];
            arr[i] = arr[j];
            arr[j] = temp;
        }
        arr[left] = arr[i];
        arr[i] = base;
        QuickSort(arr,left,i-1);
        QuickSort(arr,i+1,right);
    }
}
全部评论

相关推荐

想玩飞盘的菠萝蜜在春...:上交✌🏻也拒?
点赞 评论 收藏
分享
牛客50327486...:腾讯官方:我们没有人机对局
点赞 评论 收藏
分享
最近看到华为台风天还让员工上班,感觉近些年华为的风评都不咋样了我投了华为已经二面了,不知道能不能进入到华为,有点迷了
嵌入式劝退第一人:华为风评一直没好过,但每年也依然是一大批应届生的梦中情司,不冲突的。要我说,华为才是真的体面厂,说你在华为工作,身边的人,长辈什么的谁不说你一声牛逼
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务