示例:
输入: [-2,1,-3,4,-1,2,1,-5,4],
输出: 6
解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。
进阶:
如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解.
class Solution {
public:
int maxSubArray(vector<int>& nums);
};
int Solution::maxSubArray(vector<int>& nums)
{
int max,temp;
int count=nums.size();
max=nums.at(0);
for(int i=0;i<count;i++)
{
temp=nums.at(i);
if(temp>max) max=temp;
//cout<<"i:"<<i<<endl;
for(int j=i;j<count;j++)
{
if(j+1<count)
{
temp=temp+nums.at(j+1);
if(temp>max)
{
max=temp;
//cout<<"max: "<<max<<" ";
}
}
else
{
if(temp>max)
{
max=temp;
//cout<<"max: "<<max<<" ";
}
}
}
cout<<endl;
}
return max;
}
程序还没有优化。