LeetCode53.最大子序和
题目
示例
思路
还是以最基础的暴力法出发,使用双重循环,外层循环是确定一个开始值,内层循环是对开始值之后的数进行求和,并比较这些和里面的最大值。每次内层循环进行一次,对当前找到的最大子序和更新一次。
代码
public class Solution
{
public int MaxSubArray(int[] nums)
{
int mmax = nums[0];
for (int i = 0 ; i < nums.Length ; i++)
{
int sum = nums[i];
int max = nums[i];
for (int j = i+1 ; j < nums.Length ; j++)
{
sum += nums[j];
if (sum >= max)
{
max = sum;
}
}
if (max > mmax)
{
mmax = max;
}
}
return mmax;
}
}
执行结果
下