20 lines
510 B
Rust
20 lines
510 B
Rust
fn main() {
|
|
let nums = [1,2,39,34,20, -20, -16, 35, 0];
|
|
|
|
let mut max = 0;
|
|
let mut boundaries = 0..0;
|
|
|
|
for length in 0..nums.len() {
|
|
for start in 0..nums.len()-length {
|
|
let sum = (&nums[start..start+length]).iter()
|
|
.fold(0, |sum, elem| sum+elem);
|
|
if sum > max {
|
|
max = sum;
|
|
boundaries = start..start+length;
|
|
}
|
|
}
|
|
}
|
|
|
|
println!("Max subsequence sum: {} for {:?}", max, &nums[boundaries]);;
|
|
}
|