-
シンプルな方法:
- 配列を降順にソートします。
- ソートされた配列の2番目の要素が第2の最大値です。
- ソート後の配列を使用する必要がない場合は、2番目の要素を取得するだけで終了です。
例:
def find_second_largest(arr): arr.sort(reverse=True) return arr[1]
-
別の方法:
- 最大値として仮定する初期値を設定します。
- 配列を1つずつイテレートし、イテレート中の要素が最大値よりも大きい場合、最大値を更新します。
- 最大値が更新された場合、現在の最大値を第2の最大値として記憶します。
- イテレートが終了した時点で、第2の最大値が得られます。
例:
def find_second_largest(arr): max_val = arr[0] second_max = float('-inf') for num in arr: if num > max_val: second_max = max_val max_val = num elif num > second_max and num != max_val: second_max = num return second_max
これらの方法を使用すると、与えられた配列内の第2の最大値を見つけることができます。ご希望のプログラミング言語に合わせて、適宜コードを修正してください。