how to write a clean suffix sum function using cascade in rust?
This doesnt work, does the two rev() somehow get canceled out?
fn suffix_sum(vec: &Vec<i32>) -> Vec<i32> {
let mut sum = 0;
return vec.clone().into_iter().rev().map(|val| {
sum += val;
return sum;
}).rev().collect::<Vec<i32>>();
}
This works, but calling iter() and collect() twice seems stupid
fn suffix_sum(vec: &Vec<i32>) -> Vec<i32> {
let mut sum = 0;
return vec.clone().into_iter().rev().map(|val| {
sum += val;
return sum;
}).collect::<Vec<i32>>().into_iter().rev().collect::<Vec<i32>>();
}