题解 | #寻找第K大#

寻找第K大

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

 * 
 * @param a int整型一维数组 
 * @param aLen int a数组长度
 * @param n int整型 
 * @param K int整型 
 * @return int整型
 *
 * C语言声明定义全局变量请加上static,防止重复定义
 */
int partition(int* a, int low, int high){
    int p = a[low];
    while(low < high){
        while(low < high && a[high] <= p)high--;
        a[low] = a[high];
        while(low < high && a[low] >= p)low++;
        a[high] = a[low];
    }
    a[low] = p;
    return low;
}
int quicksort(int* a, int low, int high, int K){
    int p;
    if(low < high){
        p = partition(a, low, high);
        if(p == K){
            return p;
        }else if(p < K){
            quicksort(a, p+1, high, K);
        }else{
            quicksort(a, low, p-1, K);
        }
    }
    return p;
}
int findKth(int* a, int aLen, int n, int K ) {
    // write code here
    quicksort(a, 0, aLen-1, K-1);
    return a[K-1];
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-08 11:16
点赞 评论 收藏
分享
06-20 19:40
中原工学院 Java
网络存储:十几天不会让你拉人办卡就结束了吧?
点赞 评论 收藏
分享
门口唉提是地铁杀:之前b站被一个游戏demo深深的吸引了。看up主页发现是个初创公司,而且还在招人,也是一天60。二面的时候要我做一个登录验证和传输文件两个微服务,做完要我推到github仓库,还要我加上jaeger和一堆运维工具做性能测试并且面试的时候投屏演示。我傻乎乎的做完以后人家跟我说一句现在暂时不招人,1分钱没拿到全是白干
你的秋招第一场笔试是哪家
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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