1 个不稳定版本
0.1.7 | 2021年7月31日 |
---|---|
0.1.6 |
|
#2409 in 算法
5KB
max_subarray_sum
在列表中查找最大子数组和。如果有多个这样的子数组,则只选择第一个。
该算法的时间复杂度为 O(N)
,空间复杂度为 O(1)
。
版本说明:已修复先前版本中的一些模块化问题。
快速入门
use max_subarray_sum::interface::Elements;
fn main() {
let list = vec![-2, -3, 4, -1, -2, 1, 5, -3];
//Or you can use an array instead:
let list = [-2, -3, 4, -1, -2, 1, 5, -3];
let elements = Elements::new(&mut list);
let max_sum = elements.find_max_sum().result();
assert_eq!(7, max_sum);
}
lib.rs
:
max_subarray_sum
在列表中查找最大子数组和。这也称为最大连续子数组和。如果有多个这样的子数组,则只选择第一个。
该算法的时间复杂度为 O(N)
,空间复杂度为 O(1)
。
快速入门
use max_subarray_sum::Elements;
let list = vec![-2, -3, 4, -1, -2, 1, 5, -3];
//Or you can use an array instead:
let list = [-2, -3, 4, -1, -2, 1, 5, -3];
let elements = Elements::new(&mut list);
let max_sum = elements.find_max_sum().result();
assert_eq!(7, max_sum);