在未排序的数组中找到第 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~