第 k 要素の探索

線形探索メニュー【2番目に大きな値・k番目に大きな値】

【STEP: 1】コード

reader.on('close', () => {
   const n = Number(lines[0]);
   const a = lines[1].split(' ').map(Number);
   a.sort((s, b) => b - s);  // a を大きい順に並替え
   console.log(a[1]);  // a の 2 番目を出力
});
hogeちゃんの画像

a.sort((s, b) => b - s)a を大きい順に並替え。配列 の index は 0 から始まるので a[1] が2番めの値ですね。

【FINAL】コード

reader.on('close', () => {
   const n = Number(lines[0]);
   const k = Number(lines[2]);
   const a = lines[1].split(' ').map(Number);
   a.sort((s, b) => b - s);  // a を大きい順に並替え
   console.log(a[k - 1]);  // ak 番目を出力
});
hogeちゃんの画像

a.sort((s, b) => b - s)a を大きい順に並替え。配列 の index は 0 から始まるので a[k -1]が k 番めの値ですね。

コメント