每日算法:

动态规划: dp[i] = dp[i-1]>0?dp[i-1]+nums[i]:nums[i];
dp[i]表示从0到i包含i的最大长度。

public int maxSubArray(int[] nums) {
         int[] dp = new int[nums.length];
         dp[0] = nums[0];
         int res = nums[0];
         for(int i = 1;i<nums.length;i++){
             dp[i] = dp[i-1]>0?dp[i-1]+nums[i]:nums[i];
             res = Math.max(res,dp[i]);
         }
         return res;
     }
    public int maxSubArray(int[] nums){
        if(nums.length == 1){
            return nums[0];
        }
        int sum = nums[0];
        int res = nums[0];
        for(int i = 1;i<nums.length;i++){
            sum = sum<0?nums[i]:sum+nums[i];
            res = Math.max(res,sum);
        }
        return res;
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 算法思想贪心思想双指针排序快速选择堆排序桶排序荷兰国旗问题二分查找搜索BFSDFSBacktracking分治动态...
    第六象限阅读 3,229评论 0 0
  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,768评论 0 33
  • 动态规划(Dynamic Programming) 本文包括: 动态规划定义 状态转移方程 动态规划算法步骤 最长...
    廖少少阅读 3,322评论 0 18
  • (欢迎转载,但请注明出处并附带链接)算法好久没复习了,今天看见一妹子在办公室刷Leetcode,顿时我也来了兴趣,...
    Nick_Zuo阅读 681评论 0 3
  • >感谢2016年最新苹果开发者账号注册流程详解(公司账号篇)了解账号差异化各类型帐号差异整理Apple Devel...
    Kean_Qi阅读 6,107评论 2 0