配列内の2番目に大きな数を見つける方法


方法1: ソートして2番目の数を取得する

  1. 配列を昇順にソートします。
  2. ソートされた配列の2番目の要素を取得します。
def find_second_largest(arr):
    sorted_arr = sorted(arr)
    return sorted_arr[-2]

方法2: 最大値を見つけて、それ以外の最大値を探す

  1. 配列内の最大値を見つけます。
  2. 最大値以外の数の中で最大値を見つけます。
def find_second_largest(arr):
    max_value = max(arr)
    second_largest = float('-inf')
    for num in arr:
        if num != max_value and num > second_largest:
            second_largest = num
    return second_largest

方法3: 最大値と2番目の最大値を追跡する

  1. 配列を1つずつ走査し、最大値と2番目の最大値を追跡します。
def find_second_largest(arr):
    max_value = float('-inf')
    second_largest = float('-inf')
    for num in arr:
        if num > max_value:
            second_largest = max_value
            max_value = num
        elif num > second_largest and num != max_value:
            second_largest = num
    return second_largest

これらはいくつかの一般的な方法であり、配列内の2番目に大きな数を見つけるためのコード例です。他にもさまざまなアプローチがありますが、ここではいくつかの基本的な方法を紹介しました。