From c8863c7ca6ab2b1cb9a6b5db50c747e05b12754e Mon Sep 17 00:00:00 2001 From: wangzongxu <308929264@qq.com> Date: Thu, 4 Mar 2021 17:42:38 +0800 Subject: [PATCH] Update KthNum.js MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit L11:因为要求是求第K大的数,由于分区是从小到大排序,第K大的数就是第 len - (k - 1) 小的数; L14:如果基准点到了第一个或者最后一个,也就是说已经把三份的数组分成了两份,说明已经从小到大排序完成了,这时直接根据要求,给出第k个即可 --- javascript/12_sorts/KthNum.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/javascript/12_sorts/KthNum.js b/javascript/12_sorts/KthNum.js index 328b62c2..9c26e418 100644 --- a/javascript/12_sorts/KthNum.js +++ b/javascript/12_sorts/KthNum.js @@ -8,8 +8,12 @@ function kthNum(arr, k) { if (k > len) { return -1; } + k = len - (k - 1) let p = partition(arr, 0, len - 1); while (p + 1 !== k) { + if (p === 0 || p === arr.length - 1) { + return arr[k - 1] + } if (p + 1 > k) { p = partition(arr, 0, p - 1); } else {