编程题——连续最大和

2023-11-20


编程题——连续最大和


题目描述:
一个数组有 N 个元素,求连续子数组的最大和。 例如:[-1,2,1],和最大的连续子数组为[2,1],其和为 3
输入描述:
输入为两行。 第一行一个整数n(1 <= n <= 100000),表示一共有n个元素 第二行为n个数,即每个元素,每个整数都在32位int范围内。以空格分隔。
输出描述:
所有连续子数组中和最大的值。

示例:
输入
3 -1 2 1
输出
3


程序代码如下:



#include <iostream>
#include <vector>
using namespace std;

/*sum1为数组以第nums[i-1]为最后一个元素的一段儿连续最大和
 *sum2为数组以第nums[i]为最后一个元素的一段儿连续最大和
 *所以sum2=max(sum1,0)+nums[i]
 *当sum2<0时说明不能用之前的值加后面的值,此时sum2置0
 *用result来保存最大值*/
int main()
{
	int size;
	cin >> size;
	vector<int> nums(size);
	for (int i = 0; i < size; ++i)
		cin >> nums[i];
	int sum1 = 0, sum2 = 0;
	int result = nums[0];//result初始为数组第一个
	for (int i = 0; i < size; ++i)
	{
		sum2 = (sum1>0 ? (sum1 + nums[i]) : nums[i]);
		if (result < sum2)
			result = sum2;//只要sum2更大就更新result
		if (sum2 < 0)
			sum2 = 0;
		sum1 = sum2;
	}
	cout << result << endl;
	return 0;
}


程序运行结果如下:


在这里插入图片描述
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

编程题——连续最大和 的相关文章

  • FPGA Lattice Diamond 开发环境搭建

    FPGA Lattice Diamond 开发环境搭建 Lattice Diamond 软件下载 在浏览器中输入 Lattice 的官网地址 http www latticesemi com 进入官网首页在上方选择产品系列选项 出现如下图所
  • Unity学习笔记(一)—— 基础知识

    一 基础知识 1 开发团队组成 2 unity特点 图形界面 所见即所得 入门简单 支持C 比OC C 更友好 js 国内外资源丰富 因为使用的人多 跨平台性好 PC端 移动端等 对VR AR的支持最完善 3 成功案例 游戏 炉石传说 神庙

随机推荐

  • 【源码篇】基于ssm+bootstrap+jquery的学生成绩管理系统

    系统介绍 基于ssm bootstrap jquery的学生成绩管理系统一共分为六大模块 分别是用户管理 课程管理 班级管理 学籍管理 学费管理 成绩管理 用户管理 1 用户信息预览 查询并根据姓名搜索系统用户 2 新增用户信息 添加系统用
  • Redis7之事务(五)

    五 Redis 事务 5 1 介绍 可以一次执行多个命令 本质是一组命令的集合 一个事务中的所有命令都会序列化 按顺序地串行化执行而不会被其他命令插入 不许加塞 一个队列中 一次性 顺序性 排他性的执行一系列命令 5 2 Redis事务和数
  • 包管理工具那么多,怎么选?npm、yarn 和 pnpm 三者比较及使用详解!

    1 简介 在 Vue 项目中 我们需要使用许多第三方依赖库 如 Vue Router Vuex Axios Element UI 等等 这些依赖库通常以 NPM 包的形式提供 而且在使用时需要进行版本管理 因此 我们需要使用一个包管理工具来
  • TCP/IP详解 第十二章(2) linux 网络编程

    转载请声明博主https mp csdn net console editor html 106517098 一 Linux网络概述 LINUX网络优势 1 完善的内置网络 和内核结合在一起的网络部分 I p queue 2 Linux 免
  • python将超大CSV文件切割为多个Excel文件存储

    很多时候处理数据会碰到CSV文件 如果是一般的少量文件问题不大 一旦碰到大型的CSV文件 就会出现打不开文件的结果 因为文本无法打开超大型文件 Excel也最多能够容量一百万条数据量 因此只能将CSV文件切割成为多个小的CSV文件 将csv
  • Swing之Jframe窗体、 JDialog弹窗、标签、面板、按钮(图片按钮,单选框,多选框)、列表(下拉框,列表框)、文本框、密码框

    Swing Jframe窗体 import javax swing import java awt public class JFrameDemo init 初始化 public void init JFrame frame new JFr
  • Vue 组件化

    什么是组件化 任何一个人处理信息的逻辑能力都是有限的 所以 当面对一个非常复杂的问题时 我们不太可能一次性搞定一大堆的内容 但是 我们人有一种天生的能力 就是将问题进行拆解 如果将一个复杂的问题 拆分成很多个可以处理的小问题 再将其放在整体
  • 每月的倒扣料

    这是一个生产领料的典型 倒扣法 即BOM配置的单位和发料单位不相同时 我们不可能通过转换而达到发料的方便 比较典型的物料有 电线 按米领料 发料时要按捆化工 按kg领料 发料时按桶等等 通常在实施的时候 先将一捆电线调拔到线边仓库 仓管操作
  • 利用人工智能技术普及教学应用、拓展教师研训应用、增强教育系统监测能力

    2019年 中国教育现代化2035 指出 以人才培养为核心 通过提升校园智能化水平 探索新型教学形式 创新教育服务业态 推进教育治理方式变革 智能驱动教育创新发展 2021年教育部等六部门发布 关于推进教育新型基础设施建设构建高质量教育支撑
  • Linux C/C++编程:对文件操作的封装

    Linux C C 编程 lseek fseek ftell rewind fgetpos fsetpos 源码 Created by oceanstar on 2021 8 9 ifndef OCEANSTAR HTTP ACL FILE
  • 企业网上订货管理软件构架源码系统介绍

    企业网上订货管理软件构架源码系统介绍 手机订单管理系统 一 什么是订货通 什么是企业订货管理系统 是一款针对中小型企业通过网络实现 厂家和客户 经销商 批发商 代理商一站式订货系统 最终实现厂家的下游客户通过网络实现实时订货功能 二 订货通
  • 惊艳了!升级版的 APDrawing,秒让人脸照变线条肖像画

    作者 高卫华 出品 AI科技大本营 随着深度学习的发展 GAN模型在图像风格转换的应用越来越多 其中不少都实现了很好的效果 此前 reddit上的一个技术博主AtreveteTeTe基于GAN模型混合将普通的人像照片卡通化 并通过First
  • AJAX——AJAX的异步与同步、AJAX代码封装

    个人主页 胖虎不秃头 个人简介 Java领域新星创作者 随时准备跑路的大二学生 精品专栏 有这一个就够了 个人名言 知道的越多 不知道的越多 刷题神器 推荐一款算法刷题网站Nowcoder 点击跳转刷题网站进行注册学习 文章目录 AJAX的
  • 可以通过2种方法遍历HashMap

    可以通过2种方法遍历HashMap Map map new HashMap for Iterator iter map entrySet iterator iter hasNext Map Entry entry Map Entry ite
  • 裁剪任意直线段 liang-barshky算法 c

    一 实验目的 使用liang barshky算法实现裁剪任意直线段实验工具 二 实验工具 VC6 0 三 实验步骤 思想 以直线的参数方程为基础 X x1 u x2 x1 Y y1 u y2 y1 裁剪区域是不等式 wxl lt X x1
  • 100天精通Python(可视化篇)——第99天:Pyecharts绘制多种炫酷K线图参数说明+代码实战

    文章目录 专栏导读 一 K线图介绍 1 说明 2 应用场景 二 配置说明 三 K线图实战 1 普通k线图 2 添加辅助线 3 k线图鼠标缩放 4 添加数据缩放滑块 5 K线周期图表 书籍推荐 专栏导读 本文已收录于 100天精通Python
  • linux 积累

    linux文件夹打包命令 tar 解包 tar xvf FileName tar 打包 tar cvf FileName tar DirName 注 tar是打包 不是压缩 gz 解压1 gunzip FileName gz 解压2 gzi
  • 重用的undo日志 (3)—mysql进阶(六十六)

    前面说了undo日志的文件格式 第一页和后面的页是不同的 填入undo日志之前 会先把undo page header属性填满 还有undo segment header undo log header List base node存在un
  • Open Camera异常分析(一)

    负责的项目中遇到一些三方和其他的场景使用camera导致问题 并且没有及时释放camera device致使手机camera应用一直无法使用的严重问题 针对这类问题进行了一系列的分析与追踪 最后算是定位到了问题且提供了一些解决方案 但整个追
  • 编程题——连续最大和

    编程题 连续最大和 题目描述 一个数组有 N 个元素 求连续子数组的最大和 例如 1 2 1 和最大的连续子数组为 2 1 其和为 3 输入描述 输入为两行 第一行一个整数n 1 lt n lt 100000 表示一共有n个元素 第二行为n