Maximum Ascending Subarray Sum LeetCode solution in Rust

1
impl Solution {
2
pub fn max_ascending_sum(nums: Vec<i32>) -> i32 {
3
nums
4
.into_iter()
5
.fold((0, 0, 0), |(prev, sum, max), n| {
6
// if n <= prev, sum of previous elements in
7
// the subarray is zero
8
let sum2 = n + if n > prev { sum } else { 0 };
9

10
(n, sum2, max.max(sum2))
11
})
12
.2
13
}
14
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0