Получен целочисленный проиндексированный массив nums
Нужно найти крайний левый средний индекс (т.е. наименьший из всех возможных).
Средний индекс – это индекс, у которого nums[0] + nums[1] + ... + nums[средний индекс-1] == nums[средний индекс+1] + nums[средний индекс+2] + ... + nums [nums.lenght-1]
.
Если middleIndex == 0
, то сумма в левой части считается равной 0
. Аналогично, если middleIndex == nums.lenght - 1
, сумма в правой части считается равной 0
.
Верните крайний левый средний индекс, удовлетворяющий условию, или -1
, если такого индекса нет.
Входные данные: nums = [2,3,-1,8,4]
Результат: 3
Пояснение:
Сумма чисел до индекса 3 равна: 2 + 3 + -1 = 4
Сумма чисел после индекса 3 равна: 4 = 4
Входные данные: nums = [1,-1,4]
Результат: 2
Пояснение:
Сумма чисел до индекса 2 равна: 1 + -1 = 0
Сумма чисел после индекса 2 равна: 0
Входные данные: nums = [2,5]
Результат: -1
Пояснение: Нет верного middleIndex.
class Solution {
public:
int findMiddleIndex(vector<int>& nums) {
}
};