题解 | #寻找第K大#

寻找第K大

http://www.nowcoder.com/practice/e016ad9b7f0b45048c58a9f27ba618bf

import java.util.*;

public class Solution { public int findKth(int[] a, int n, int K) { sort(a,0,n-1);

    // write code here
    return a[K-1];
}
public void sort(int[] arr ,int left,int right){
    if(left < right){
       int mid = partition(arr,left,right);
        sort(arr,left,mid);
        sort(arr,mid+1,right);
    }
}
 public int partition(int[] arr ,int left, int right){
    int l = left;
    int r = right+1;
    while(l<r){
        while(l<r){
            r--;
            if(arr[r] > arr[left] )
                break;

        }
        while(l<r){
            if(arr[l] < arr[left])
                break;
            l++;
        }
        swap(arr,l,r);
    }
    swap(arr,left,l);
    return l;
}

public void swap(int[] arr ,int left, int right){
    if(arr[left]==arr[right])
        return ;
    arr[left] = arr[left]^arr[right];
    arr[right] = arr[left]^arr[right];
    arr[left] = arr[left]^arr[right];
}

}

全部评论

相关推荐

迷qwq:比我本科强多了,找个不错的工作问题不大,更好的工作就得看面试表现加上运气了。另外自身经历不错,简历写的不太好,再润色一下。
点赞 评论 收藏
分享
CODERKEY:你这简历写了一堆,一眼看下来找不到任何重点,任何有价值含金量的内容。还有,你这校外实习经历跟小学生春游一样,具体公司具体岗位实习时间是一个没有。
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务