LeetCode 215 陣列中的第K個最大元素

2022-07-12 04:36:09 字數 621 閱讀 5557

//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...