美文网首页
leetcode#53 最大子序和

leetcode#53 最大子序和

作者: leeehao | 来源:发表于2020-07-16 14:39 被阅读0次

题目

给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

审题

找到数组内连续的下标 相加最大值

第一次

暴力搜索,累加所有可能,计算最大值。

class Solution {
    public int maxSubArray(int[] nums) {
        if (nums == null || nums.length == 0) return 0;
        int max = num[0];  // 必须初始化,防止负数
        for (int i = 0; i < nums.length; i++) {
            int sum = nums[i];
            if (sum > max) {
                    max = sum;
            }
            for (int j = i + 1; j < nums.length; j++) {
                sum+=nums[j]
                max = sum > max ? sum : max;
            }
        }
      return max;
    }
}

第二次

最大子序和这道题重在思考,怎么才能一次遍历就出结果。从数字序列中观察可以发现,如果遇到正整数情况可以一直进行累加并比较最大值。

public class Solution {
    public int maxSubArray(int[] nums) {
          if (nums == null || nums.length == 0) return 0;
          // 注意不能初始化为 0 
          int max = nums[0];
          int sum = 0;
          for (int n : nums) {
                 // 无视 n == 0 情况
                 if (sum > 0) {
                      sum += n;
                 } else {
                      // 重置 sum,继续寻找下一个正整数
                      sum = n;
                 }
                 max = Math.max(sum, max);
          }
          return max;
    }
}

相关文章

  • leetcode#53 最大子序和

    题目 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 审题...

  • 最长连续子序和问题

    0X00 算法总结 最大子序和 53. 最大子序和 这是一道非常经典的 dp 问题, 以最大子序和的最后一个数字来...

  • 【5月】LeetCode:我怎么还是这么菜

    5.3 题目链接 53. 最大子序和 很喜欢的解法(DP) 官方解(分治) 参考题解:最大子序和 但是仔细观察「方...

  • 动态规划1

    53. 最大子序和 70, 爬楼梯

  • [Leetcode] 53. 最大子序和

    53. 最大子序和 来源: 53. 最大子序和 1. 题目描述 给定一个整数数组 nums ,找到一个具有最大和...

  • 最大子序和

    给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 输...

  • 最大子序和

    给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 输...

  • 最大子序和

    这道题是一道经典算法题,也是清华考研的题目,使用动态规划(不太理解)来解决,时间复杂度为O(n)。 题目:给定一个...

  • 最大子序和

    给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例:输入...

  • 最大子序和

    给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 输入: [...

网友评论

      本文标题:leetcode#53 最大子序和

      本文链接:https://www.haomeiwen.com/subject/repphktx.html