当前位置: 首页 > article >正文

力扣 53. 最大子数组和

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

题目

  • 给定一个数组,有正数,有复数,返回子序列之和的最大值

思路

  • 这个题目《编程珠玑》讲过,思路从普速的模拟,到 presum 优化,到代码很容易写错的分治,到最后的扫描,这过程也是历经了好几年
  • 扫描的思路就是,如果前面子序列之和大于零,就保留,如果小于零,就不要前面的子序列,重新开始统计,记录这过程中的最大值

代码

class Solution {
public:
    int maxSubArray(vector<int>& nums) {
        int ans = nums[0];
        int presum = nums[0];
        for (int i = 1; i < nums.size(); i++) {
            if (presum > 0) presum += nums[i];
            else presum = nums[i];
            ans = max(ans, presum);
        }
        return ans;
        
    }
};

http://www.kler.cn/a/411064.html

相关文章:

  • Github 2024-11-26 Python开源项目日报Top10
  • C#中的异步操作
  • 树莓派2装FreeBSD14.1 Raspberry Pi2 install FreeBSD14.1 00000121:error:0A000086:SSL
  • 双指针算法(1)
  • 【es6】原生js在页面上画矩形添加选中状态高亮及显示调整大小控制框(三)
  • go-web项目通用脚手架
  • 《PH47 快速开发教程》发布
  • 华三(HCL)和华为(eNSP)模拟器共存安装手册
  • SpringBoot - 优雅的实现【账号登录错误次数的限制和锁定】
  • 类和对象(下):点亮编程星河的类与对象进阶之光
  • 【PTA】【数据库】【SQL命令】编程题2
  • MR30分布式 IO 模块在冷却水泵系统中的卓越应用
  • 通过异步使用消息队列优化秒杀
  • Web开发技术栈选择指南
  • 刷题日常(移动零,盛最多水的容器,三数之和,无重复字符的最长子串)
  • Java 中实现异步的方式
  • IMX 平台UART驱动情景分析:read篇--从硬件驱动到行规程的全链路剖析
  • XG(S)-PON原理
  • 【贪心算法第五弹——300.最长递增子序列】
  • QUICK调试camera-xml解析
  • QT QToolButton控件 全面详解
  • Scala—Collections集合概述
  • goframe框架bug-记录
  • 如何提升编程能力第二篇
  • 关于网络安全攻防知识
  • [CA] 读懂core.cpp -3 Core::decode