1 unstable release
0.1.7 | Jul 31, 2021 |
---|---|
0.1.6 |
|
#2409 in Algorithms
5KB
max_subarray_sum
Finds maximum subarray sum in a list. If there are multiple such subarrays, only the one that comes first is selected.
The algorithm has time complexity of O(N)
and space complexity
of O(1)
.
version note: Some modularity problems in previous versions have been patched.
Quick Start
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
Finds maximum subarray sum in a list. This is also known as max sum contigious subarray. If there are multiple such subarrays, only the one that comes first is selected.
The algorithm has time complexity of O(N)
and space complexity
of O(1)
.
Quick Start
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);