本文共 448 字,大约阅读时间需要 1 分钟。
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
动态规划法:
核心思想就一句话:如果前一个元素大于0,就把它和当前元素相加。 用maxs记录最大值。class Solution { public: int maxSubArray(vector & nums) { int n = nums.size(); int maxs =nums[0]; if(n==1) return nums[0]; for(int i=1;i0) nums[i] =nums[i]+nums[i-1]; maxs=max(maxs,nums[i]); } return maxs; }};
结果:
转载地址:http://lnexi.baihongyu.com/