【题解】数组中的第K个最大元素

在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。

示例 1:
输入: [3,2,1,5,6,4] 和 k = 2
输出: 5
示例 2:
输入: [3,2,3,1,2,4,5,5,6] 和 k = 4
输出: 4

解题思路
1、先将数组排序
2、直接返回指定位置的最大值


力扣编译器

static int comp(const void* a, const void* b){
    return *(int*)a - *(int*)b;
}
int findKthLargest(int* nums, int numsSize, int k){
    //判断数组数据合法性
    if(nums == NULL) return 0;
    //将数组进行排序
    qsort(nums, numsSize, sizeof(int), comp);
    //返回指定的最大元素
    return nums[numsSize - k];
}

这道题用来C 库里面的排序函数,有点过于投机。等后面再从写的时候再更新。
还有,文章确实更新不完了(咕咕咕咕~)被迫降低标准。哈哈哈


本月更新进度 9/10

创作不易,你的点赞是我最大的动力!!!
我们下次再见 end~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章