【算法与数据结构】53、LeetCode最大子数组和

文章目录

  • 一、题目
  • 二、解法
  • 三、完整代码

所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。

一、题目

在这里插入图片描述

二、解法

  思路分析:程序一共两个变量,一个result一个count。result用来记录最终的结果,count记录当前的子序列和。如果说当前和(count)大于上次的最大和(result),就更新result。每当当前和小于0是就将count重置为0,因为小于0的和不会增加count的值可以直接舍去。例如,[-2,1,-3,4,-1,2,1,-5,4],-2+1=-1。那么最大和的连续子数组可以从1开始计算,-2直接不用。
  程序如下

class Solution {
public:int maxSubArray(vector<int>& nums) {int result = INT32_MIN;		// 32位最小值int count = 0;for (int i = 0; i < nums.size(); i++) {count = count + nums[i];if (count > result) result = count;if (count < 0) count = 0;}return result;}
};

复杂度分析:

  • 时间复杂度: O ( n ) O(n) O(n)
  • 空间复杂度: O ( 1 ) O(1) O(1)

三、完整代码

# include <iostream>
# include <vector>
using namespace std;class Solution {
public:int maxSubArray(vector<int>& nums) {int result = INT32_MIN;		// 32位最小值int count = 0;for (int i = 0; i < nums.size(); i++) {count = count + nums[i];if (count > result) result = count;if (count < 0) count = 0;}return result;}
};
int main() {vector<int> nums = { -2,1,-3,4,-1,2,1,-5,4 };Solution s1;int result = s1.maxSubArray(nums);cout << result << endl;system("pause");return 0;
}

end

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

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

相关文章

LAMP平台——构建PHP运行环境

在构建LAMP平台时&#xff0c;各组件的安装顺序依次为Linux、Apache、MySQL、PHP。其中Apache和 MySQL的安装并没有严格的顺序&#xff1b;而PHP环境的安装一般放到最后&#xff0c;负责沟通Web服务器和数据库 系统以协同工作。 PHP 即 Hypertext Preprocessor&#xff08;超级…

数据结构 之map/set练习

文章目录 1. 只出现一次的数字算法原理&#xff1a;代码&#xff1a; 2. 随机链表的复制算法原理&#xff1a;代码&#xff1a; 3. 宝石与石头算法原理&#xff1a;代码&#xff1a; 4. 坏键盘打字算法原理&#xff1a;代码&#xff1a; 5. 前K个高频单词算法原理&#xff1a;代…

图片的批量建码怎么做?一图一码的制作方法

在使用图片展示内容时&#xff0c;经常会有同一类型的图片信息是有区别的&#xff0c;如果需要将每张图片批量生成二维码图片&#xff0c;那么出了一张一张去制作之外&#xff0c;有没有能够一键批量建码的功能可以解决这个问题呢&#xff1f;下面来给大家分享一下图片批量建码…

SpringBoot 源码解析1:环境搭建

SpringBoot 源码解析1&#xff1a;环境搭建 1.项目结构2.pom.xml3.MyApplication 1.项目结构 最简单的spring-web项目 2.pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns…

记删除CK不彻底问题 及 新增表TTL机制

问题背景&#xff1a;对CK表进行删除时&#xff0c;发现无法彻底删除&#xff0c;并报错如下&#xff1a; 同时也会有下面的报错信息&#xff1a; 解决过程&#xff1a; 确认CK 节点是否健康存活&#xff0c;select * from system.clusters 可以查看&#xff1b;确认CK元数据是…

基于ssm日用品网站设计论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本日用品网站就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据信息&…

linux系统的u盘/mmc/sd卡等的支持热插拔和自动挂载行为

1.了解mdev mdev是busybox自带的一个简化版的udev。udev是从Linux 2.6 内核系列开始的设备文件系统&#xff08;DevFS&#xff09;的替代品&#xff0c;是 Linux 内核的设备管理器。总的来说&#xff0c;它取代了 devfs 和 hotplug&#xff0c;负责管理 /dev 中的设备节点。同时…

openEuler商业化进展可观:累计装机量超610万套,市场持续扩容

12月15日至16日&#xff0c;以“崛起数字时代&#xff0c;引领数智未来”为主题的操作系统大会&#xff06;openEuler Summit 2023在北京国家会议中心举办。大会旨在汇聚全球产业界创新力量&#xff0c;构筑坚实的基础软件根基&#xff0c;推动基础软件技术持续创新&#xff0c…

win10 node-red安装及管理配置

win10 node-red安装及管理配置 一、安装node.js环境二、安装node-red环境2.1 node-red安装2.2 node-red安全登录方式 三、pm2管理node-red服务3.1 安装pm23.2 pm2管理node-red服务 四、常用命令4.1 npm命令4.2 pm2命令 更多 本文旨在详细介绍windows10系统下的node-red开发配置…

visio打出根号,下标,并调整符号的大小

插入公式对象 打出根号和带下标的字母 调整符号大小 把做好的公式符号弄到visio中的图中 ctrla 复制符号 进入visio中粘贴 并 调整大小 调整大小直接拖动边框上的圆点即可。

java SSM酒店客房管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM酒店客房管理系统是一套完善的web设计系统&#xff08;系统采用SSM框架进行设计开发&#xff0c;springspringMVCmybatis&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代 码和数据库&#xff0c;系统主要采…

在开发微信小程序的时候,报错navigateBack:fail cannot navigate back at firstpage

这个错误的意思是&#xff1a;在这个页面已经是第一个页面了&#xff0c;没办法再返回了 报错原因 这个错误原因其实也简单&#xff0c;就是在跳转的时候使用了wx.redirectTo()&#xff0c;使用wx.redirectTo()相当于重定向&#xff0c;不算是从上一个页面跳转过来的&#xf…

com.sun.org.apache.xerces.internal.impl.dv.util.Base64

com.sun.org.apache.xerces.internal.impl.dv.util.Base64 Access restriction: The type Base64 is not API (restriction on required library D:\Java\jdk1.8.0_341\jre\lib\rt.jar) Maven Update Project 虽然没错误了&#xff0c;但是有警告&#xff0c;好奇&#xff1f;…

python进度条

分享一个进度条python库 瞬间觉得很酷 :)) 它的名字叫tqdm 效果图&#xff1a; 代码&#xff1a; import time from tqdm import tqdmfor i in tqdm(range(100), desc"Loading", unit"kb"):time.sleep(0.1)

中通单号查询,中通快递物流查询,对需要的单号进行备注

批量查询中通快递单号的物流信息&#xff0c;对需要的单号进行备注。 所需工具&#xff1a; 一个【快递批量查询高手】软件 中通快递单号若干 操作步骤&#xff1a; 步骤1&#xff1a;运行【快递批量查询高手】软件&#xff0c;并登录 步骤2&#xff1a;点击主界面左上角的“…

系列一、Linux中安装MySQL

一、Linux中安装MySQL 1.1、下载MySQL安装包 官网&#xff1a;https://dev.mysql.com/downloads/file/?id523327 我分享的&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/188_9RnBYlWVzFb_UJH5aaQ?pwdyyds 提取码&#xff1a;yyds 1.2、上传至/opt目录 & 解压…

Linux Conda 安装 Jupyter

在Linux服务器Conda环境上安装Jupyter过程中遇到了无数的报错&#xff0c;特此记录。 目录 步骤一&#xff1a;安装Anaconda3 步骤二&#xff1a;配置Conda源 步骤三&#xff1a;安装Jupyter 安装报错&#xff1a;simplejson.errors.JSONDecodeError 安装报错&#xff1a;…

什么是第一方数据,如何使用它?

多年来&#xff0c;第一方数据一直是营销行业的话题。 随着用户数据隐私法律法规的不断收紧&#xff0c;营销人员必须接受一个几乎没有数据 cookie 的世界。 我们必须在如何合法和合乎道德地获取客户信息方面更具创造性。 不确定什么是第一方数据&#xff1f;或者不太确定从…

[python][plotly]利用plotly绘制散点图

import plotly.express as px import pandas as pd# 创建示例数据 data pd.DataFrame({x: [1, 2, 3, 4, 5],y: [5, 4, 3, 2, 1] })# 使用 plotly.express 绘制散点图 fig px.scatter(data, xx, yy, titleScatter plot) fig.show() 结果&#xff1a;

【DataSophon】大数据管理平台DataSophon-1.2.1基本使用

&#x1f984; 个人主页——&#x1f390;开着拖拉机回家_Linux,大数据运维-CSDN博客 &#x1f390;✨&#x1f341; &#x1fa81;&#x1f341;&#x1fa81;&#x1f341;&#x1fa81;&#x1f341;&#x1fa81;&#x1f341; &#x1fa81;&#x1f341;&#x1fa81;&am…