#![allow(non_snake_case)]
fn getEquilibriumIndex(v: &mut [i32]) -> Option<usize> {
let size = v.len();
let mut left_sum = 0;
let mut right_sum = v.iter().sum::<i32>();
for i in 0..size {
right_sum -= v[i];
if left_sum == right_sum {
return Some(i);
}
left_sum += v[i];
}
None
}
fn main() {
let mut v : Vec<i32> = vec![-9, 2, 5, 8, -7, 4, 1];
print!("equilibrium index = {:?}", getEquilibriumIndex(&mut v));
}
/*
run:
equilibrium index = Some(3)
*/