【编程题-错题集】连续子数组最大和(动态规划 - 线性 dp)

news2024/11/25 8:22:49

牛客对应题目链接:连续子数组最大和_牛客题霸_牛客网 (nowcoder.com)


一、分析题目

简单线性 dp。

1、状态表示

dp[i] 表示:以 i 位置为结尾的所有子数组中,最大和是多少。


2、状态转移方程

dp[i] = max(dp[i - 1] + arr[i], arr[i])


3、返回值

返回 dp 表里的最大值。 


二、代码

1、看题解之前AC的代码

#include <iostream>
using namespace std;

const int N=2e5+10;
int a[N], dp[N];

int main()
{
    int n;
    cin >> n;
    for(int i=0; i<n; i++) cin >> a[i];
    int res=-101;
    for(int i=1; i<=n; i++)
    {
        dp[i]=max(dp[i-1]+a[i-1], a[i-1]);
        res=max(res, dp[i]);
    }
    cout << res << endl;
    return 0;
}

2、值得学习的代码

#include <iostream>
using namespace std;

const int N = 2e5 + 10;

int n;
int dp[N];
int arr[N];

int main()
{
    cin >> n;
    for(int i = 1; i <= n; i++) cin >> arr[i];

    int ret = -101;
    for(int i = 1; i <= n; i++)
    {
        dp[i] = max(dp[i - 1], 0) + arr[i];
        ret = max(ret, dp[i]);
    }

    cout << ret << endl;

    return 0;
}

三、反思与改进

这道题的思路正确,但还是没能通过全部测试样例。这里其实并不需要去判断当前值是正数还是负数,直接与以 i-1 位置为结尾的所有子数组中的最大和进行相加,再和当前值作比较即可。注意,这里需要的是连续子数组的最大和,重点是连续,所以如果前面的值太小就应该舍弃,从当前值开始重新累加。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1652582.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HTML批量文件上传2——进度条显示

作者&#xff1a;私语茶馆 非常多的云应用中需要上传文本&#xff0c;包括图片&#xff0c;文件等等&#xff0c;这些批量文件上传&#xff0c;往往涉及到进度条显示&#xff0c;多文件上传等&#xff0c;这里分享一个非常好的案例&#xff0c;来自BootStrapfriendly.com&#…

6W 1.5KVDC、3KVDC 隔离宽电压输入 DC/DC 电源模块——TP06DA 系列

TP06DA系列电源模块额定输出功率为6W&#xff0c;外形尺寸为31.75*20.32*10.65&#xff0c;应用于2:1及4:1电压输入范围 4.5-9、9V-18V、18V-36V、36V-72V、9V-36V和18V-72VDC的输入电压环境&#xff0c;输出电压精度可达1%&#xff0c;具有输出短路保护等功能&#xff0c;可广…

经验浅谈!伦敦银如何交易?

近期&#xff0c;伦敦银价格出现很强的上涨&#xff0c;这促使一些新手投资者进入了市场&#xff0c;但由于缺乏经验&#xff0c;他们不知道该怎么在市场中交易&#xff0c;下面我们就从宏观上介绍一些方法&#xff0c;来讨论一下伦敦银如何交易。 首先我们要知道&#xff0c;要…

[C/C++] -- 装饰器模式

装饰器模式是一种结构型设计模式&#xff0c;它允许在不改变原始对象的基础上动态地扩展其功能。这种模式通过将对象包装在装饰器类的对象中来实现&#xff0c;每个装饰器对象都包含一个原始对象&#xff0c;并可以在调用原始对象的方法之前或之后执行一些额外的操作。 装饰器…

windows环境下 postgresql v12 绿色版+postgis 3.4.1版本配置,空间数据库迁移

windows环境下 postgresql v12 绿色版+postgis 3.4.1版本配置,空间数据库迁移 一、软件环境 操作系统:windows 11 pg免安装版数据库:postgresql-12.17-1-windows-x64-binaries.zip 下载地址:https://get.enterprisedb.com/postgresql/postgresql-12.18-1-windows-x64-bina…

第二证券今日投资参考:北方稀土上调挂牌价 磷化工产业链迎催化

昨日&#xff0c;沪指早盘窄幅震动&#xff0c;午后小幅拉升&#xff0c;科创50指数弱势下探。截至收盘&#xff0c;沪指涨0.22%报3147.74点&#xff0c;深证成指微跌0.08%报9770.94点&#xff0c;创业板指跌0.14%报1892.54点&#xff0c;上证50指数涨0.16%&#xff0c;科创50指…

智能AI对话系统源码+绘画功能二合一 带完整的代码安装包以及搭建教程

随着人工智能技术的不断进步&#xff0c;人们对于AI应用的需求也日益多元化。在智能AI对话系统方面&#xff0c;用户期望能够获得更加自然、智能的交互体验&#xff1b;而在绘画领域&#xff0c;AI技术的加入则为艺术创作带来了全新的可能性。小编给大家分享一款智能AI对话系统…

vs2019 - 替换vs2019自带的cmake

文章目录 vs2019 - 替换vs2019自带的cmake概述笔记启动vs2019本地x64命令行的脚本查看vs2019自带的cmake的位置删掉旧版cmake将新版cmake的安装目录内容替换过来。查看vs2019本地x64命令行中的cmake版本配置为vs2019x64工程END vs2019 - 替换vs2019自带的cmake 概述 在看一个…

2024年钉钉群直播回放怎么保存

钉钉群直播回放下载插件我已经打包好了&#xff0c;有需要的自己下载一下 小白钉钉工具打包链接&#xff1a;百度网盘 请输入提取码 提取码&#xff1a;1234 --来自百度网盘超级会员V10的分享 1.首先解压好我给大家准备好的压缩包 2.再把逍遥一仙下载器解压出来&#xff0…

DInet

&#xff08;1&#xff09;数据&#xff1a; 1&#xff09;&#xff1a;随机获取5帧参考帧 2&#xff09;&#xff1a;处理这5帧连续帧&#xff0c;:source_frames:连续5帧的crop_moth b)audio_list:连续5帧的每一帧对应的5帧音频mel特征 c):refs:fintune 固定参考帧&#xff0…

AngusTester安装请求代理

一、介绍 请求代理程序(AngusProxy)提供两个方面作用&#xff1a; 代理Http和WebSocket协议接口调试请求&#xff0c;解决浏览器跨域限制问题。对代理请求客户化处理支持&#xff0c;允许用户对代理请求进行二次处理&#xff0c;如&#xff1a;请求参数签名。 二、类型 为了…

揭秘SSL证书一年费用:网络安全预算规划指南

网络安全在数字化时代的重要性不言而喻&#xff0c;而SSL证书作为保护网站安全的关键工具&#xff0c;其费用问题自然成为了用户们关注的重点。本文旨在深入分析SSL证书的一年所需成本&#xff0c;帮助用户们合理规划自己的网络安全预算。 我们需要了解SSL证书的基本概念。SSL…

poisson分布及其stata实现

1. 概念 泊松回归&#xff08;Poisson regression&#xff09;是用来为计数资料和列联表建模的一种回归分析。泊松回归假设反应变量Y是泊松分布&#xff0c;并假设它期望值的对数可被未知参数的线性组合建模。泊松回归模型有时&#xff08;特别是当用作列联表模型时&#xff0…

深入解析:C语言中的八大经典排序算法全揭秘

目录 排序的概念及运用 排序概念 排序运用 常见排序算法 八大排序详解 直接插入排序 基本思想 代码实现 希尔排序 基本思想 代码实现 选择排序 基本思想 代码实现 堆排序 堆的向下调整算法&#xff08;前提&#xff09; 基本思想 代码实现 冒泡排序 基本思…

yolo world 瑞芯微芯片rknn部署、地平线芯片Horizon部署、TensorRT部署

特别说明&#xff1a;参考官方开源的 yoloworld 代码、瑞芯微官方文档、地平线的官方文档&#xff0c;如有侵权告知删&#xff0c;谢谢。 模型和完整仿真测试代码&#xff0c;放在github上参考链接 模型和代码。 yoloworld出来的有一段时间了&#xff0c;还没有盘到板端上玩一玩…

小红书高级电商运营课,从0开始做小红书电商(18节课)

详情介绍 课程内容&#xff1a; 第1节课:学习流程以及后续实操流程注意事项,mp4 第2节课:小红书店铺类型解析以及开店细节.mp4 第3节课:小红书电商运营两种玩法之多品店铺解析,mp4 第4节课:小红书电商运营两种玩法之单品店铺解析,mp4 第5节课:选品课(多品类类目推荐).mp4 …

政安晨:【Keras机器学习示例演绎】(三十九)—— 使用 FNet 进行文本分类

目录 简介 模型 设置 加载数据集 对数据进行标记 格式化数据集 建立模型 训练我们的模型 与变换器模型比较 政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 收录专栏: TensorFlow与Keras机器学习实战 希望政安晨的博客能够对您有所裨益&…

“中国汉字”的英语表达|柯桥考级英语生活英语商务口语培训

汉字&#xff0c;又称中文字、中国字、方块字。汉字是表意文字&#xff0c;一个汉字通常表示汉语里的一个词或一个语素&#xff0c;这就形成了音、形、义统一的特点。 我们通常用“Chinese character”表示“汉字”而不用“Chinese word”. &#x1f534; 例句&#xff1a; C…

萨科微与金航标:对标国际巨头,精进创新,打造行业新标杆

萨科微slkor&#xff08;www.slkoric.com&#xff09;对标企业包括德州仪器TI、AOS、ONsemi等国际知名企业&#xff0c;深入研究这些企业的产品定义、管理模式、技术创新和市场策略&#xff0c;为自身发展提供更多的参考和启示。金航标和萨科微在搞好产品的研发和质量管理的同时…