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