問題
配列{45,12,78,23,56,9,34}の最小値は何か。
選択肢
- 19
- 212
- 323
- 445
正解
1. 9
詳しい解説を見る解説を閉じる
解説
最小値探索は、minを先頭要素45で初期化し、2番目以降の要素と順に比較してminより小さければ更新する。12で更新(min=12)、78は更新なし、23は更新なし、56は更新なし、9で更新(min=9)、34は更新なしとなり、最終的なminは9で正解である。12や23は走査を途中で打ち切った場合の値であり、45は初期値のまま一度も更新しなかった誤りである。頻出ポイントは①初期値は先頭要素にするのが定石で、0で初期化すると全要素が正の数の場合に誤動作すること、②更新条件はarr[i]<minであり、最大値探索のarr[i]>maxとは比較の向きだけが異なること、の2点である。科目Bでは比較演算子の向きを空欄にする出題が多いため、最大値・最小値の探索をセットで理解しておきたい。
一問一答
科目A 180問+科目B 60問