leetcode第53题最大子序和

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

  1. 使用一次遍历算法:遍历数组,累加数组中元素,并判断累加后数值是否最大。所以,我们初始化定义max保存最大子序和,num保持累加数据。


    定义
  2. 初始化时设置数组中第一个元素为max初始值


    初始化max值
  3. 遍历数组,并判断累加后数值是否大于max,并更新最大值


    执行循环
  4. 如果在遍历的过程中遇到负数怎么办?因为我们不知道后续是否还会出现正数,比如-1,2的序列,所以继续累加。
    累加后值为负数时,我们重新开始累加。

    负数时处理

  5. 最后,我们给出完整算法如下所示;算法的关键就在于理解以及处理,当累加为负数时,重新进行累加。


    完整算法
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容