53. 最大子数组和

  • ​​题目描述​​
  • ​​解题思路​​
  • ​​代码实现​​

题目描述

【LeetCode】第34天 - 53. 最大子数组和_动态规划

解题思路

可以使用动态规划的思想,想要求得前i个元素的最大连续子数组和,只需要先得到前i-1个元素的最大连续子数组和(temp),然后将temp + nums[i] 与nums[i]做比较,较大者即为前i个元素的最大连续子数组和。

代码实现

class Solution {
public int maxSubArray(int[] nums) {
int max = nums[0], temp = 0;
for(int i=0;i<nums.length;i++){
if(temp + nums[i] >nums[i]){
temp = temp + nums[i];
}else{
temp = nums[i];
}
if(temp > max){
max = temp;
}

}
return max;
}
}