// 0 : 0+1=1 : 0+1+2=3 : 0+1+2+3=6 : 0+1+2+3+4=10 : 0+1+2+3+4+5=15 ...
fn cumulative_sum_of_int_array(arr: &[i32]) -> Vec<i32> {
let mut sum_arr = Vec::with_capacity(arr.len());
let mut sum = 0;
for &num in arr {
sum += num;
sum_arr.push(sum);
}
sum_arr
}
fn main() {
let arr = &[0, 1, 2, 3, 4, 5, 6];
let sum_arr = cumulative_sum_of_int_array(arr);
for &num in &sum_arr {
print!("{} ", num);
}
}
/*
run:
0 1 3 6 10 15 21
*/