lotus

贵有恒何必三更眠五更起 最无益只怕一日曝十日寒

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  1846 随笔 :: 0 文章 :: 109 评论 :: 288万 阅读

1. 题目

 

 https://leetcode.cn/problems/maximum-subarray/

53. 最大子数组和

2. 解法

2.1  解法一:借助dp数组 

1
2
3
4
5
6
7
8
9
10
public static int maxSubArray(int[] nums) {
    int[] dp = new int[nums.length];
    dp[0] = nums[0];
    int result = dp[0];
    for (int i = 1; i < nums.length; i++) {
        dp[i] = Math.max(nums[i], dp[i - 1] + nums[i]);
        result = Math.max(result, dp[i]);
    }
    return result;
}

 

2.2  解法二: 不借助dp数组

1
2
3
4
5
6
7
8
9
10
public static int maxSubArray2(int[] nums) {
 
    int result = nums[0];
    int pre = nums[0];
    for (int i = 1; i < nums.length; i++) {
        pre = Math.max(nums[i], nums[i] + pre);
        result = Math.max(result, pre);
    }
    return result;
}

  

3. 总结

posted on   白露~  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示