力扣53. 最大子序和
生活随笔
收集整理的這篇文章主要介紹了
力扣53. 最大子序和
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
給定一個(gè)整數(shù)數(shù)組 nums ,找到一個(gè)具有最大和的連續(xù)子數(shù)組(子數(shù)組最少包含一個(gè)元素),返回其最大和。
思路:每個(gè)循環(huán)中,sum表示以nums[i]結(jié)尾的最大子序和,res表示目前得到的最大子序和。當(dāng)循環(huán)結(jié)束,res就是最終結(jié)果。
class Solution {public int maxSubArray(int[] nums) {int sum = 0;int res = nums[0];for(int i = 0;i<nums.length;i++){sum = Math.max(nums[i],sum+nums[i]);//sum表示以nums[i]結(jié)尾的最大子序和res = Math.max(res,sum);//res表示目前得到的最大子序和}return res;} }1.sum = Math.max(nums[i],sum+nums[i])
當(dāng)前以i結(jié)尾的最大子序和,是在前者基礎(chǔ)上比較得來(lái)的,要么nums[i]單獨(dú)做為sum,要么加上上一個(gè)sum
2.res = Math.max(res,sum)
res比較好理解,就讓他一直成為當(dāng)前“老大”就行了
總結(jié)
以上是生活随笔為你收集整理的力扣53. 最大子序和的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 力扣35. 搜索插入位置
- 下一篇: 银鱼多少钱啊?