//1.使用最小堆,或最大堆
//根據 k 的不同,選最大堆和最小堆,目的是讓堆中的元素更小
class
solution
}return
queue.peek();
}}
//2.使用快排
class
solution
else
if( index else
}
}public
int partition(int nums,int left,int
right)
}//在之前的遍歷過程中,滿足[left+1,j] < pivot, 並且(j,i] >= pivot
swap(nums,j,left);
//交換以後 [left,j - 1] < piovt , nums[j] = piovt,[j + 1,right] >= piovt
return
j; }
//交換nums[i] 與 nums[j]的位置
public
void swap(int nums,int i,int
j)}
LeetCode 215 陣列中的第K個最大元素
在未排序的陣列中找到第 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 說明 你可以假設 k 總是有效的,且 1...
LeetCode 215 陣列中的第K個最大元素
在未排序的陣列中找到第 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 說明 你可以假設 k 總是有效的,且 1...
Leetcode215 陣列中的第K個最大元素
在未排序的陣列中找到第 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 說明 你可以假設 k 總是有效的,且 1...