問題
配列{12,7,23,18,5,30,15}の最大値は何か。
選択肢
- 130
- 223
- 318
- 415
正解
1. 30
詳しい解説を見る解説を閉じる
解説
最大値探索は、maxを先頭要素12で初期化し、2番目以降を順に比較してmaxより大きければ更新する。7は更新なし、23で更新(max=23)、18は更新なし、5は更新なし、30で更新(max=30)、15は更新なしとなり、最終的なmaxは30で正解である。23や18は途中までの最大値で走査を打ち切った場合の誤りであり、15は最後の要素を答えただけの誤りである。頻出ポイントは①maxの初期値は先頭要素(または十分小さい値)にすること、②比較条件がarr[i]>maxなら最大値、arr[i]<minなら最小値の探索になること、の2点である。科目Bでは比較演算子の向きを空欄にして問う形式が多いため、更新条件の意味を理解して全要素を最後まで走査することが重要である。
一問一答
科目A 180問+科目B 60問