题解 | #寻找第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];
}
全部评论

相关推荐

珩珺:那些经历都太大太空了,实习的情况不了解,大创项目连名字、背景、目的及意义都没体现出来;地摊经济更是看完连卖的什么产品都不知道,项目成果直接写营收多少都更直观真实一点;后面那个校文体部的更是工作内容是组织活动整理流程,成果变成了当志愿者,而且你们学校本科学生会大一入学就直接当部长吗,志愿里面还提到了疫情防控,全面解封是22年12月的事情,可能时间上也有冲突。可能你花了钱人家就用AI给你随便写了点内容改了一下,没什么体现个性化的点
点赞 评论 收藏
分享
程序员牛肉:小牛肉来也! 基本破不了局了,我给你的建议是适当放弃秋招,投递大厂的日常实习之后赶明年的春招。 在没有实习的情况下,你的项目经历给面试官的作用就是提供提问点方便面试官来提问八股以及场景题而已。因此你现在简历的写法不太对,要着重突出项目中使用的技术点,而不是像你现在这个写的很宽泛。 最好是“基于xxxx技术解决了xxxx问题,解决了xxxx边缘场景问题”。最好是这样写,方便面试官对你的简历进行提问。 最后的最后,问题其实不在你。今年的秋招确实比较寒冬一点,所以找不到是正常的。要做好打持久战的准备。
Java学习交流
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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