最大最小

線形探索メニュー 【2 変数の最大最小・10 変数の最大最小・n 変数の最大最小】

【STEP: 1】コード

reader.on('close', () => {
   const a = lines[0].split(' ').map(Number);
   console.log(Math.max(...a), Math.min(...a));
});
hogeちゃんの画像

a の値を展開し Math.max(), Math.min()で最大値と最小値を取得。

【STEP: 2】コード

reader.on('close', () => {
   const a = lines[0].split(' ').map(Number);
   console.log(Math.max(...a), Math.min(...a));
});
hogeちゃんの画像

a の値が 10個 になっても【STEP: 1】と同じコードでクリアできました。

【FINAL】コード 1/2

reader.on('close', () => {
   const a = lines[1].split(' ').map(Number);
   console.log(Math.max(...a), Math.min(...a));
});
hogeちゃんの画像
n 個 になっても【STEP: 1】【STEP: 2】と同じでOK。

【FINAL】コード 2/2

reader.on('close', () => {
   const n = Number(lines[0]);
   const a = lines[1].split(' ').map(Number);
   let max = -1000000001; // 最大値をとても小さな数で初期化
   let min = 1000000001;  // 最小値をとても大きな数で初期化
   for (let i = 0; i < n; i++) {  // n この要素を順番に調べて…
      if (max < a[i]) {  // 最大値よりa[i]が大きければ…
         max = a[i];  // 最大値を更新
      }
      if (min > a[i]) {  // 最小値よりa[i]が小さければ…
         min = a[i];  // 最小値を更新
      }
   }
   console.log(max, min);
});
hogeちゃんの画像
テーマが線形探索なので線形探索♪

コメント