陣列中的第K個最大元素 js實現

2021-10-08 09:35:37 字數 575 閱讀 9004

陣列中的第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 ≤ k ≤ 陣列的長度。

我的解題思路是首先利用js中陣列的方法sort()進行降序排序,在迴圈遍歷排好序之後的陣列,根據指定的k值與遍歷的i值對比,返回得到相應的結果,其中要注意的是,由於陣列遍歷時下標從0開始,而k是從1開始,故返回結果中需要進行k-1再進行和i判斷。

/**

* @param nums

* @param k

* @return

*/var

findkthlargest

=function

(nums, k)}}

;

**可在leetcode上通過,已測試。

陣列中的第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...

陣列中的第K個最大元素

題目 在未排序的陣列中找到第 k 個最大的元素。請注意,你需要找的是陣列排序後的第 k 個最大的元素,而不是第 k 個不同的元素。法一 排序後輸出。法二 優先佇列 堆 法三 利用快速排序的方法。在這裡僅介紹法三,法一法二呼叫庫函式即可。思路 首先,找第k個最大的元素,即是找第n k 1個最小的元素。...

陣列中的第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...