1991
#include <vector>
#include <numeric>
using namespace std;
class Solution {
public:
int pivotIndex(vector<int>& nums) {
int array_sum = accumulate(nums.begin(), nums.end(), 0);
int sum = 0;
for (int i=0; i<nums.size(); i++) {
if (sum == (array_sum - sum - nums[i])) {
return i;
}
sum += nums[i];
}
return -1;
}
};
impl Solution {
pub fn find_middle_index(nums: Vec<i32>) -> i32 {
let initial_sum:i32 = nums.iter().sum();
let mut ret_val:i32 = -1;
let mut sum: i32 = 0;
for (i, el) in nums.iter().enumerated() {
if sum == (initial_sum - sum - nums[i]) {
ret_val = i as i32;
break;
}
sum += nums[i];
}
ret_val
}
}