标签:
Find the kth largest element in an unsorted array. Note that it is the kth largest element in the sorted order, not the kth distinct element.
For example,
Given [3,2,1,5,6,4]
and k = 2, return 5.
Note:
You may assume k is always valid, 1 ≤ k ≤ array‘s length.
Please use the following function to solve the problem:
int findKthLargest(int* nums, int numsSize, int k) {
}
int findKthLargest(int* nums, int numsSize, int k) { int temp; for (int i = 0; i < numsSize-1; i++){ for (int j = i+1; j < numsSize; j++){ if (nums[i]> nums[j]){ temp = nums[j]; nums[j] = nums[i]; nums[i] = temp; } } } return nums[numsSize - k]; }
LeetCode判断结果:
解题代码
int findKthLargest(int* nums, int numsSize, int k) { int *tempArray = (int *)malloc(sizeof(int)*numsSize); memset(tempArray,0,sizeof(int)*numsSize); for (int i = 0; i < numsSize; i++){ for (int j = 0; j < numsSize; j++){ if (nums[i]>tempArray[j]){ int b = numsSize - j; for (int t = 0; t <= b; t++){ tempArray[numsSize-t] = tempArray[numsSize-t-1]; } tempArray[j] = nums[i]; break; } } } return tempArray[k-1]; }
LeetCode判断结果:
不知为何会出现这样的错误?代码在本机测试正常。
其他算法分析有时间再添加。
Kth Largest Element in an Array - LeetCode
标签:
原文地址:http://www.cnblogs.com/hlwyfeng/p/4526425.html