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

(动态规划 最大(连续)子数组和)leetcode 53

这道题和上个文章(动态规划 最长连续递增子序列)leetcode 674有异曲同工之妙,本质是一样的,只是这个题更基础一点

递推公式中dp[i]=max(dp[i],dp[i]+dp[i-1]),可以发现,这里如果是背包问题,不取应该是max(dp[i-1],**)但是这里是dp[i]意思是满足题意 也就是重新自立门户为子数组的开头

dp[i]+dp[i-1]这里是为了构成子数组和而存在的

连续子数组也就是子串,这里有m个子串(m属于n) n=nums.size();

每个子串的长度不一

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

http://www.dtcms.com/a/45251.html

相关文章:

  • Elasticsearch 数据量大时如何优化查询性能?
  • Python正则
  • [M数据结构] lc2353. 设计食物评分系统(数据结构+set 平衡树+懒删除堆)
  • 达梦数据库如何查看当前锁表和如何解决锁表问题
  • 企业access_token,与用户access_token区别,获取方式,如何获取用户信息
  • 释放你的IDE潜能:Code::Blocks 插件创意开发深度指南
  • C++—类与对象(下)
  • C#上位机--三元运算符
  • 【分库分表】基于mysql+shardingSphere的分库分表技术
  • 1-kafka单机环境搭建
  • 2025-2-27-4.10 动态规划(0-1 背包问题)
  • Python 编程题 第五节:落体反弹问题、求指定数列之和、求阶乘的和、年龄急转弯、判断回文数、判断星期几、矩阵主对角线元素之和
  • Rk3568驱动开发_自动创建设备节点_8
  • ListControl双击实现可编辑
  • 更新anaconda安装包后重新配置环境
  • LabVIEW 无法播放 AVI 视频的编解码器解决方案
  • [SAP MM] 标准价格和移动平均价格
  • 小程序性能优化-预加载
  • 知识图谱科研文献推荐系统vue+django+Neo4j的知识图谱
  • AtCoder Beginner Contest AT_abc395_d ABC395D Pigeon Swap 题解
  • Java 8 中,可以使用 Stream API 和 Comparator 对 List 按照元素对象的时间字段进行倒序排序
  • ollama 提供给外部访问
  • Java——String
  • 数据库设计报告
  • leetcode28 找出字符串第一个匹配值的下标 KMP算法
  • android 文本控件显示滑动条并自动滑动到最底部
  • 初识 Node.js
  • 微服务学习(1):RabbitMQ的安装与简单应用
  • 2025-03-01 学习记录--C/C++-C语言 整数类型对比
  • Lua | 每日一练 (4)