線形探索メニュー 【2 変数の最大最小・10 変数の最大最小・n 変数の最大最小】
【STEP: 1】コード
reader.on('close', () => {
const a = lines[0].split(' ').map(Number);
console.log(Math.max(...a), Math.min(...a));
});
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));
});
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));
});
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);
});
テーマが線形探索なので線形探索♪
コメント