๐ 53. ๆๅคงๅญๆฐ็ปๅ
2022ๅนด6ๆ9ๆฅๅฐไบ 1 ๅ้
๐ 53. ๆๅคงๅญๆฐ็ปๅ
้พๅบฆ: ๐
้ฎ้ขๆ่ฟฐ
่งฃๆณ 1
class Solution {
public int maxSubArray(int[] nums) {
// ๆ่ทฏ๏ผ
// dp[i] = dp[i - 1] + [i], [i]
int len = nums.length;
// ็นๆฎๆ
ๅต็นๅค
if(len == 1) {
return nums[0];
}
// len > 1
int[] dp = new int[len];
// ๅๅงๅ
dp[0] = Math.max(0, nums[0]);
int res = nums[0];
// dp
for(int i = 1; i < len; i ++) {
dp[i] = Math.max(dp[i - 1] + nums[i], nums[i]);
res = Math.max(res, dp[i]);
}
return res;
}
}