Написано: 17.03.2023

1991. Найти срединный индекс массива (Find the Middle Index in Array)

easy

Задание.

Получен целочисленный проиндексированный массив nums

Нужно найти крайний левый средний индекс (т.е. наименьший из всех возможных).

Средний индекс – это индекс, у которого nums[0] + nums[1] + ... + nums[средний индекс-1] == nums[средний индекс+1] + nums[средний индекс+2] + ... + nums [nums.lenght-1].

Если middleIndex == 0, то сумма в левой части считается равной 0. Аналогично, если middleIndex == nums.lenght - 1, сумма в правой части считается равной 0.

Верните крайний левый средний индекс, удовлетворяющий условию, или -1, если такого индекса нет.

Пример 1.

Входные данные: nums = [2,3,-1,8,4]

Результат: 3

Пояснение:

Сумма чисел до индекса 3 равна: 2 + 3 + -1 = 4
Сумма чисел после индекса 3 равна: 4 = 4

Пример 2.

Входные данные: nums = [1,-1,4]

Результат: 2

Пояснение:

Сумма чисел до индекса 2 равна: 1 + -1 = 0
Сумма чисел после индекса 2 равна: 0

Пример 3.

Входные данные: nums = [2,5]

Результат: -1

Пояснение: Нет верного middleIndex.

Решение.

class Solution {
public:
    int findMiddleIndex(vector<int>& nums) {
        
    }
};

Способ решения.