コードの最適化 - 配列のK番目の最大の要素を求めて

トピックス要件:

 

 

解決策1:

直接ソートk番目を取って、降順

VAR findKthLargest = 関数(NUMS、K){ 
      nums.sort((A、B) => { 戻り B - })。
      戻り NUMS [K - 1 ]。
}。

 

(最適化性能に)対処方法2:

k番目の逆数を取って、バブルソートを使用して

VAR findKthLargest = 関数(NUMS、K){
   ためVAR - 、I> nums.length - K - 1; 1 iはnums.lengthを= i-- ){
     VARのTEMP。
    VARの J = 0; J <I、J ++ ){
       場合(NUMS [J]> NUMS [J + 1 ]){ 
        TEMP = NUMS [J + 1 ]。
        NUMS [J + 1] = NUMS [J]。
        NUMS [J] = TEMP。
      } 
    } 
  } 
  戻り NUMS [nums.length - K]。
}。

 

おすすめ

転載: www.cnblogs.com/Leophen/p/11823622.html