leetcode数组的元素修改(LeetCode数组中的第K个最大元素215)

需求描述:给定整数数组nums和整数k,请返回数组中第k个最大的元素。请注意你需要查找的是数组排序后第k个最大的元素,而不是第k个不同的元素

leetcode数组的元素修改(LeetCode数组中的第K个最大元素215)(1)

解题分析:需要先对数组进行快速排序(升序),再去查找倒数第k个元素。需要注意的是倒数第k个元素是下标为 numsSize-k 的元素,而不下标为 numsSize-k-1 的元素

int main() { int nums[6] = {3,2,1,5,6,4}; int res = findKthLargest(nums, 6, 2); printf("res : %d\n",res); return 0; } #pragma mark - 数组中的第K个最大元素 int compare(const void* a,const void* b) { return *(int*)a - *(int*)b; } int findKthLargest(int* nums, int numsSize, int k) { int res = 0; qsort(nums, numsSize, sizeof(int), &compare); res = nums[numsSize - k]; return res; }

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页