力扣第215題 陣列中的第K個最大元素

2021-10-08 04:40:12 字數 627 閱讀 3184

在未排序的陣列中找到第 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

思路1:首先將陣列從大到小排序,再根據k值獲取索引

var

findkthlargest

=function

(nums, k)

)return nums[k-1]

};

思路2:使用選擇排序或者氣泡排序,一邊從大到小排序,一邊判斷是否到達k值指向的索引

var

findkthlargest

=function

(nums, k)}if

(nums[index]

>nums[i])if

(i == k-1)

}};

自己寫的排序演算法:不管是冒泡還是選擇排序,都不如內建sort()快,需要研究sort()內部實現,或者學習其他排序演算法,對比sort()什麼方法更快

力扣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...

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

在未排序的陣列中找到第 k 個最大的元素。請注意,你需要找的是陣列排序後的第 k 個最大的元素,而不是第 k 個不同的元素。暴力解法 class solution def findkthlargest self,nums,k nums sorted nums,reverse true return ...

力扣c語言實現 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...