0053.最大子数组和
方法一:遍历
时间复杂度 $O(n)$,空间复杂度 $O(1)$。
func maxSubArray(nums []int) int {
ans := nums[0]
for sum, i := 0, 0; i < len(nums); i++ {
sum += nums[i]
if sum > ans {
ans = sum
}
if sum < 0 {
sum = 0
}
}
return ans
}
impl Solution {
pub fn max_sub_array(nums: Vec<i32>) -> i32 {
let mut ans = nums[0];
let mut sum = 0;
for v in nums {
sum += v;
if sum > ans {
ans = sum;
}
if sum < 0 {
sum = 0;
}
}
ans
}
}