[算法] 牛课题霸 - DP6 连续子数组最大和 - 动态规划

文章目录

  • 题目链接
  • 解题过程
    • 思路一
    • 思路二

题目链接

DP6 连续子数组最大和

解题过程

思路一

两个for循环,遍历。
因为每个元素都要遍历两遍,所以时间复杂度O(n^2)。
简单的测试用例可以通过,但是提交时,一个巨大的数组用例,直接导致超时。

#include <iostream>
using namespace std;int GetSubMax(int n, int* data)
{int sum = 0;int res = 0;bool isinit = true;for(int i = 0; i < n; i++){sum = data[i];// cout << sum << endl;if(isinit) {res = sum;isinit = false;}elseres = res < sum? sum : res;for(int j = i +1; j < n; j++){sum += data[j];// cout << sum << endl;res = res < sum? sum : res;}}return res;
}int main() {int n;cin >> n;int* data = new int[n];for(int i = 0; i < n; i++){cin >> data[i];}cout << GetSubMax(n, data);
}
// 64 位输出请用 printf("%lld")

思路二

动态规划。看的答案才会的。官方思路:
在这里插入图片描述
TMD, 这算法怎么想出来的。我怎么没想到。

#include <iostream>
using namespace std;int GetSubMax(int n, int* data)
{int  max= 0, sum = 0;for(int i = 0; i < n; i++){if(i == 0){sum = data[i];max = sum;}else {sum = sum + data[i] > data[i] ? sum + data[i]: data[i];max = max > sum ? max : sum;}}return max;
}int main() {int n;cin >> n;int* data = new int[n];for(int i = 0; i < n; i++){cin >> data[i];}cout << GetSubMax(n, data);
}
// 64 位输出请用 printf("%lld")

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024春秋蓝桥杯reverse——crackme01

尝试了下输入没有任何反应 查看——32位——IDA打开 我之前没怎么写过win32&#xff0c;所以我开始在string里面找flag,wrong,right什么的字符&#xff0c;都不行 然后我又在函数里面找main&#xff0c;也什么收获的没有,OK废话完了 在win32里面 关于弹窗的函数&#xff1a;…

Pytorch学习 day14(模型的验证步骤)

如何利用已经训练好的模型&#xff0c;验证它的结果&#xff0c;步骤如下&#xff1a; 步骤一&#xff1a;加载测试输入并更改为合适尺寸 保存图片到指定文件夹下&#xff0c;注意是否为同级目录注意&#xff1a;返回上一级目录为“…/xxx"有时&#xff0c;我们自己的输…

C++入门篇(2)

1. 内联函数 1.1 概念 C中&#xff0c;以 inline 修饰的函数叫做内联函数&#xff0c;编译时C编译器会在调用内联函数的地方展开&#xff0c;没有函数调用建立栈帧的开销&#xff0c;内联函数提升程序运行的效率。 #include <iostream> using namespace std;int Add(int…

DMSP夜间灯光卫星介绍和数据下载

DMSP(Defense Meteorological Sate-llite Program)是美国国防部的极轨卫星计划&#xff0c;与NOAA卫星同属于一类&#xff0c;只不过星上载荷不同。 DMSP卫星简介 现有DMSP为三轴姿态稳定卫星&#xff0c;运行在高度约830km的太阳同步轨道&#xff0c;周期约101min&#xff0c…

如何在 Linux ubuntu 系统上搭建 Java web 程序的运行环境

如何在 Linux ubuntu 系统上搭建 Java web 程序的运行环境 基于包管理器进行安装 Linux 会把一些软件包放到对应的服务器上&#xff0c;通过包管理器这样的程序&#xff0c;来把这些软件包给下载安装 ubuntu系统上的包管理器是 apt centos系统上的包管理器 yum 注&#xff1a;…

谈谈Darknet53为啥这么难训练

在我使用Imagenet2012对Darknet53进行预训练的时候&#xff0c;往往训练到一半&#xff0c;就会出现过拟合&#xff0c;导致无法继续向下训练&#xff0c;尝试了很多方法&#xff0c;最后发现问题出现在下图红框的部分。 得出这个结论是因为当我使用Resnet中&#xff0c;包含有…

医药大数据案例分析

二、功能 &#xff08;1&#xff09;流量分析 &#xff08;2&#xff09;经营状态分析 &#xff08;3&#xff09;大数据可视化系统 配置tomcat vim /root/.bash_profile添加以下内容&#xff1a; export CATALINA_HOME/opt/tomcat export PATH P A T H : PATH: PATH:CATALIN…

leetcode一天一题-第1天

为了增加自己的代码实战能力&#xff0c;希望通过刷leetcode的题目&#xff0c;不断提高自己&#xff0c;增加对代码的理解&#xff0c;同时开拓自己的思维方面。 题目名称&#xff1a;两数之和 题目编号&#xff1a;1 题目介绍&#xff1a; 给定一个整数数组 nums 和一个整数…

【算法与数据结构】队列的实现详解

文章目录 &#x1f4dd;队列的概念及结构&#x1f320; 队列的顺序实现&#x1f309;初始化&#x1f320;入队&#x1f309;出队&#x1f320;获取队列首元素&#x1f309;获取队列尾部元素&#x1f320;获取队列中有效元素个数&#x1f309; 队列是否为空&#x1f320;查看队列…

Django框架的全面指南:从入门到高级【第128篇—Django框架】

Django框架的全面指南&#xff1a;从入门到高级 Django是一个高效、功能强大的Python Web框架&#xff0c;它被广泛用于构建各种规模的Web应用程序。无论是初学者还是有经验的开发人员&#xff0c;都可以从入门到掌握Django的高级技巧。在本指南中&#xff0c;我们将带你逐步了…

十三届试题B(山)

这天小明正在学数数。 他突然发现有些正整数的形状像一座“山”&#xff0c;比如 123565321 、 145541 &#xff0c;它们左右对称&#xff08;回文&#xff09;且数位上的数字先单调不减&#xff0c;后单调不增。 小明数了很久也没有数完&#xff0c;他想让你告诉他在区间[2022…

YOLOv5目标检测学习(5):源码解析之:推理部分dectet.py

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、导入相关包与路径、模块配置1.1 导入相关的python包1.2 获取当前文件的相对路径1.3 加载自定义模块1.4 总结 二、执行主体的main函数所以执行推理代码&…