53.最大子数组和

在这里插入图片描述

// 定义一个名为Solution的类
class Solution {
    
    // 定义一个公共方法maxSubArray,接收一个整型数组nums作为参数,返回一个整数值
    public int maxSubArray(int[] nums) {

        // 如果输入数组只有一个元素,直接返回该元素,因为单个元素本身就是最长连续子数组
        if (nums.length == 1){
            return nums[0];
        }

        // 初始化sum为整型最小值,用于记录遍历过程中遇到的最大子数组之和
        int sum = Integer.MIN_VALUE;

        // 初始化count为0,用于记录从当前下标开始的累计和
        int count = 0;

        // 遍历输入数组的所有元素
        for (int i = 0; i < nums.length; i++) {
            // 将当前元素累加到累计和count中
            count += nums[i];

            // 更新sum为sum与count之间的较大值,这样每次循环都能得到以i为截止点的最大子数组之和
            sum = Math.max(sum, count); // 取区间累计的最大值(相当于不断确定最大子序列终止位置)

            // 当累计和count小于等于0时,说明从当前位置开始的累计和已经被负数拉低,不可能产生新的更大子数组
            // 因此,将count重置为0,相当于重新选择下一个可能的最大子数组的起始位置
            if (count <= 0){
                count = 0; // 相当于重置最大子序列起始位置,因为遇到负数一定是拉低总和
            }
        }

        // 遍历结束后,sum中存储的就是整个数组nums中的最大子数组之和
        return sum;
    }
}

这段代码实现了一个寻找整数数组中具有最大和的连续子数组的功能。通过动态计算并更新累计和count以及最大子数组之和sum,可以有效地在一次遍历中找到结果。

相关推荐

  1. LeetCode[53]

    2024-03-26 12:52:04       64 阅读
  2. LeetCode 53

    2024-03-26 12:52:04       57 阅读
  3. 力扣:53.

    2024-03-26 12:52:04       45 阅读
  4. 53. (力扣LeetCode)

    2024-03-26 12:52:04       48 阅读
  5. LC 53.

    2024-03-26 12:52:04       42 阅读
  6. 【力扣】53.

    2024-03-26 12:52:04       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-26 12:52:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-26 12:52:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-26 12:52:04       82 阅读
  4. Python语言-面向对象

    2024-03-26 12:52:04       91 阅读

热门阅读

  1. C++语法|C++八股|内存泄漏杂谈

    2024-03-26 12:52:04       43 阅读
  2. 解析option设计模式

    2024-03-26 12:52:04       41 阅读
  3. 【设计模式】原型模式详解

    2024-03-26 12:52:04       41 阅读
  4. 富格林:正确析辨虚假受害陷阱

    2024-03-26 12:52:04       42 阅读
  5. 全面认识“服装ERP系统”,读这一篇就够了!

    2024-03-26 12:52:04       37 阅读
  6. kubernetes- ingress-gateway-istio_gateway的区别

    2024-03-26 12:52:04       32 阅读
  7. IOS面试题编程机制 26-30

    2024-03-26 12:52:04       30 阅读
  8. list转树形,亲测可用

    2024-03-26 12:52:04       39 阅读
  9. 【Docker】Airflow Scheduler 容器部署

    2024-03-26 12:52:04       33 阅读