当前位置:网站首页>Sword finger offer 42 Maximum sum of successive subarrays

Sword finger offer 42 Maximum sum of successive subarrays

2022-06-23 06:42:00 zmm_ mohua

The finger of the sword Offer 42. The maximum sum of successive subarrays

subject

 Insert picture description here

Code

#include <iostream>
#include <vector>
using namespace std;

int maxSubArray(vector<int>& nums) {
    
	int n = nums.size();
	if(n == 0){
    
		return 0;
	}else if(n == 1){
    
		return nums[0];
	}
	vector<int> dp(n);
	dp[0] = nums[0];
	int res = nums[0];
	for(int i = 1; i < n; i++){
    
		dp[i] = max(dp[i-1] + nums[i], nums[i]);
		res = max(res, dp[i]);
	}
	return res;
}

int main(){
    
	int n, res;
	cin>>n;
	vector<int> nums(n);
	for(int i = 0; i < n; i++){
    
		cin>>nums[i];
	}
	res = maxSubArray(nums);
	cout<<res;
	return 0;
} 
原网站

版权声明
本文为[zmm_ mohua]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/174/202206230521220140.html