平衡インデックスを見つける方法


平衡インデックスを見つけるためのシンプルで簡単な方法を以下に示します。

  1. 総和の計算: まず、配列の要素の総和を計算します。

  2. 左右の合計の比較: 配列の最初の要素から順番に、インデックスを1つずつ増やしながら以下の手順を繰り返します。 a. 現在のインデックスを中心に、左側の要素の合計と右側の要素の合計を計算します。 b. 左側の合計と右側の合計が等しい場合、そのインデックスが平衡インデックスです。 c. 左側の合計と右側の合計が等しくない場合、次のインデックスに進みます。

  3. 平衡インデックスの取得: 平衡インデックスが見つかった場合、そのインデックスを記録します。すべての要素をチェックした後、記録した平衡インデックスを返します。

以下に、Pythonでの実装例を示します。

def find_equilibrium_indexes(arr):
    total_sum = sum(arr)
    left_sum = 0
    equilibrium_indexes = []
    for i in range(len(arr)):
        total_sum -= arr[i]
        if left_sum == total_sum:
            equilibrium_indexes.append(i)
        left_sum += arr[i]
    return equilibrium_indexes
# 使用例
array = [1, 2, 3, 4, 3, 2, 1]
result = find_equilibrium_indexes(array)
print("平衡インデックス:", result)

このコードでは、与えられた配列 [1, 2, 3, 4, 3, 2, 1] の平衡インデックスを見つけることができます。出力は [3] となります。

この方法を使用することで、与えられた配列内のすべての平衡インデックスを見つけることができます。