题解 | #最小的K个数#

最小的K个数

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

 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param input int整型一维数组 
 * @param inputLen int input数组长度
 * @param k int整型 
 * @return int整型一维数组
 * @return int* returnSize 返回数组行数
 *
 * C语言声明定义全局变量请加上static,防止重复定义
 */
int partition(int* input, int low, int high){
    int p = input[low];
    while(low < high){
        while(low < high && input[high] >= p) high--;
        input[low] = input[high];
        while(low < high && input[low] < p) low++;
        input[high] = input[low];
    }
    input[low] = p;
    return low;
}
void quicksort(int* input, int low, int high){
    if(low < high){
        int p = partition(input, low, high);
        quicksort(input, low, p-1);
        quicksort(input, p+1, high);
    }
    
}
int* GetLeastNumbers_Solution(int* input, int inputLen, int k, int* returnSize ) {
    // write code here
    int* res = (int*) malloc(sizeof(int)*k);
    *returnSize = k;
    quicksort(input,0,inputLen-1);
    for(int i = 0; i < k; i++){
        res[i] = input[i];
    }
    return res;
}
全部评论

相关推荐

浪子陪都:简历最优秀的地方放到了后面,国奖,校级奖学金这些是最亮眼的。说明你跟同级别的学生不一样。 建议台灯这个,PCB布局布线这个词汇不专业,业内是PCB Layout,第二,单片机的板子一般不用考虑SI,PI 都是低速信号,只要遵循3W原则就好了。 单片机的项目太low了,技能这块,你要看一下BOSS直聘的招聘要求,按照别人的要求写,一些关键词可以增加你简历被检索到的概率。 主修课程不用写,这个没有人去关注的。
点赞 评论 收藏
分享
02-26 15:33
已编辑
西北大学 golang
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务