配列内の第2の最大値を見つける方法


  1. シンプルな方法:

    • 配列を降順にソートします。
    • ソートされた配列の2番目の要素が第2の最大値です。
    • ソート後の配列を使用する必要がない場合は、2番目の要素を取得するだけで終了です。

    例:

    def find_second_largest(arr):
       arr.sort(reverse=True)
       return arr[1]
  2. 別の方法:

    • 最大値として仮定する初期値を設定します。
    • 配列を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の最大値を見つけることができます。ご希望のプログラミング言語に合わせて、適宜コードを修正してください。