View on GitHub

CC

CC practice and cheat sheets

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
    }
}