程式語言 - LeetCode - C - 215. Kth Largest Element in an Array



參考資訊:
https://github.com/doocs/leetcode/blob/main/solution/0200-0299/0215.Kth%20Largest%20Element%20in%20an%20Array/README_EN.md

題目:


解答:

#define BASE     100000
#define MAX_SIZE 200000
 
int findKthLargest(int *nums, int numsSize, int k)
{
    int i = 0;
    int *cnt = NULL;
 
    cnt = calloc(MAX_SIZE, sizeof(int));
    for (i = 0; i < numsSize; i++) {
        cnt[nums[i] + BASE] += 1;
    }
 
    for (i = (MAX_SIZE - 1); ; i--) {
        k -= cnt[i];
        if (k <= 0) {
            return i - BASE;
        }
    }
 
    return 0;
}