找到数组的中间位置 Find the Middle Index in Array

问题描述

这个问题与 寻找数组的中心下标 Find Pivot Index 完全相同, 我们不再详细解析, 具体可以参考 0724 问题的解法说明.

我们只是简单实了其中一种方法:

#![allow(unused)]
fn main() {
//! 与 0724 问题相同, 我们只写第二种解法

pub fn solution1(nums: Vec<i32>) -> i32 {
    let mut suffix_sum: i32 = nums.iter().sum();
    let mut prefix_sum: i32 = 0;
    for (index, num) in nums.iter().enumerate() {
        suffix_sum -= num;
        if prefix_sum == suffix_sum {
            return index as i32;
        }
        prefix_sum += num;
    }
    -1
}
}