连续子数组最大和
连续子数组最大和
http://www.nowcoder.com/questionTerminal/03d341fb6c9d42debcdd38d82a0a545c
include
include
using namespace std;
标题
动态规划:
定义状态:原地修改数组,将每个数组的值更改为当前位置上的最大和
class solution{
public:
int maxsubarrray(vector<int>& nums)
{
int res=nums[0];
for(int i=1;i<nums.size();i++)
{
if(nums[i-1]>0)
{
nums[i]+=nums[i-1];
}
res=max(res,nums[i]);
}
return res;
}
};
int main()
{
solution s;
int n,m;
vector<int> num;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>m;
num.push_back(m);
}
cout<<s.maxsubarrray(num)<<endl;
return 0;
}</int></int>