最大子数组和力扣--53

目录

题目

思路

代码


题目

给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

子数组是数组中的一个连续部分。

示例 1:

输入:nums = [-2,1,-3,4,-1,2,1,-5,4]
输出:6
解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。

示例 2:

输入:nums = [1]
输出:1

示例 3:

输入:nums = [5,4,-1,7,8]
输出:23

提示:

  • 1 <= nums.length <= 105
  • -104 <= nums[i] <= 104

思路

记录和,遍历,一旦和变成负数,他会使得后面要加的那个数字变小,所以思路是一旦和变成负数,就舍弃他们,从下一个数字开始计算。不是遇到负数就舍弃他!!!!

局部最优的情况下,并记录最大的“连续和”,可以推出全局最优

实时更新最后的结果,哪个大保留哪个

代码

class Solution {public int maxSubArray(int[] nums) {int sum = Integer.MIN_VALUE;int count=0;for(int i=0;i<nums.length;i++){count+=nums[i];sum = Math.max(sum, count);//这行和下一行不可以交换顺序,因为下一行改变了count的取值,从而会影响到这一行if(count<0){count=0;}}return sum;}}

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

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

相关文章

JavaScript 深浅拷贝全面解析

在 JavaScript 中&#xff0c;深浅拷贝是处理对象复制的重要概念。它们的核心区别在于对 引用类型数据 的处理方式&#xff0c;理解这一点对避免程序中的意外数据污染至关重要。 一、核心概念解析 1. 基本类型 vs 引用类型 基本类型&#xff1a;Number, String, Boolean, null…

【大模型】大模型推理能力深度剖析:从通用模型到专业优化

大模型推理能力深度剖析&#xff1a;从通用模型到专业优化 大模型推理能力深度剖析&#xff1a;从通用模型到专业优化一、通用语言模型与推理模型的区别&#xff08;一&#xff09;通用语言模型&#xff1a;多任务的“万金油”&#xff08;二&#xff09;推理模型&#xff1a;复…

RISC-V架构的平台级中断控制器(PLIC:platform-level interrupt controller)详解

英文缩写 英文缩写中文含义PLICplatform-level interrupt controller&#xff0c;平台级中断控制器SMTsimultaneous multi-threading&#xff0c;并发多线程HARTRISC-V架构中的硬件线程SMTsimultaneous multi-threading&#xff0c;多线程执行M-MODEmachine mode&#xff0c;机…

[Web 安全] PHP 反序列化漏洞 —— PHP 序列化 反序列化

关注这个专栏的其他相关笔记&#xff1a;[Web 安全] 反序列化漏洞 - 学习笔记-CSDN博客 0x01&#xff1a;PHP 序列化 — Serialize 序列化就是将对象的状态信息转化为可以存储或传输的形式的过程&#xff0c;在 PHP 中&#xff0c;通常使用 serialize() 函数来完成序列化的操作…

航空装配自动化神器Ethercat转profient网关搭配机器人精准控制

生产管理系统通过网关与装配机器人连接&#xff0c;加快航空器机身的装配速度&#xff0c;减少人为误差。 航空制造对装配线的精度和效率有着极高的要求。某航空制造厂使用的耐达讯Profinet转EtherCAT协议网关NY-PN-ECATM&#xff0c;将其生产管理系统与装配机器人连接&#xf…

什么是MySql的主从复制(主从同步)?

主页还有其他面试题总结&#xff0c;有需要的可以去看一下&#xff0c;喜欢的就留个三连再走吧~ 1.什么是MySql的主从复制原理&#xff1f; 主从复制的核心就是二进制binlog&#xff08;DDL&#xff08;数据定义语言&#xff09;语句和DML&#xff08;数据操纵语言&#xff09…

自然语言处理:初识自然语言处理

介绍 大家好&#xff0c;博主又来给大家分享知识了。从这次开始&#xff0c;博主给大家分享自然语言处理这个领域的内容。这也是博主非常感兴趣的研究领域。 最开始&#xff0c;博主计划在自然语言处理系列的第一篇博文中&#xff0c;和大家聊聊文本规范化这个话题。毕竟在自…

【保姆级视频教程(二)】YOLOv12训练数据集构建:标签格式转换-划分-YAML 配置 避坑指南 | 小白也能轻松玩转目标检测!

【2025全站首发】YOLOv12训练数据集构建&#xff1a;标签格式转换-划分-YAML 配置 避坑指南 | 小白也能轻松玩转目标检测&#xff01; 文章目录 1. 数据集准备1.1 标签格式转换1.2 数据集划分1.3 yaml配置文件创建 2. 训练验证 1. 数据集准备 示例数据集下载链接&#xff1a;P…

【人工智能】蓝耘智算平台盛大发布DeepSeek满血版:开创AI推理体验新纪元

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀ 蓝耘智算平台 蓝耘智算平台核心技术与突破元生代推理引擎快速入门&#xff1a;三步调用大模型接口&#xff0c;OpenAI SDK无缝兼容实战用例文…

【网络编程】几个常用命令:ping / netstat / xargs / pidof / watch

ping&#xff1a;检测网络联通 1. ping 的基本功能2. ping 的工作原理3. ping 的常见用法4. ping 的输出解释5. ping 的应用场景6. 注意事项 netstat&#xff1a;查看网络状态 1. netstat 的基本功能2. 常见用法3. 示例4. 输出字段解释5. netstat 的替代工具6. 注意事项 xargs&…

【C++】:STL详解 —— list类

目录 list的概念 list的构造函数 list的大小 size() resize() empty() list的插入 push_front()和emplace_front() push_back()和emplace_back() insert()和emplace() list的删除 pop_front() pop_back() erase() remove() remove_if() unique() clear()…

【数据结构】(11) Map 和 Set

一、Map 和 Set 的简介 1、Set 和 Map Map 和 Set 是集合类框架学习的最后一部分。Map 和 Set 都是接口&#xff0c;需要通过 TreeSet、HashSet 和 TreeMap、HashMap 实例化。注意&#xff0c;Set 实现了 Collection&#xff0c;Map 并没有。 Set 存放的是键&#xff08;Key&a…

关于CanvasRenderer.SyncTransform触发调用的机制

1&#xff09;关于CanvasRenderer.SyncTransform触发调用的机制 2&#xff09;小游戏Spine裁剪掉帧问题 3&#xff09;Dedicated Server性能问题 4&#xff09;.mp4视频放入RT进行渲染的性能分析闭坑指南 这是第421篇UWA技术知识分享的推送&#xff0c;精选了UWA社区的热门话题…

Kronecker分解(K-FAC):让自然梯度在深度学习中飞起来

Kronecker分解&#xff08;K-FAC&#xff09;&#xff1a;让自然梯度在深度学习中飞起来 在深度学习的优化中&#xff0c;自然梯度下降&#xff08;Natural Gradient Descent&#xff09;是一个强大的工具&#xff0c;它利用Fisher信息矩阵&#xff08;FIM&#xff09;调整梯度…

【HTML— 快速入门】HTML 基础

准备工作 vscode下载 百度网盘 Subline Text 下载 Sublime Text下载 百度网盘 vscode 下载 Sublime Text 是一款轻量好用的文本编辑器&#xff0c;我们在写前端代码时&#xff0c;使用 Sublime Text 打开比使用记事本打开&#xff0c;得到的代码体验更好&#xff0c;比 vscode…

鸿蒙开发深入浅出01(基本环境搭建、页面模板与TabBar)

鸿蒙开发深入浅出01&#xff08;基本环境搭建、页面模板与TabBar&#xff09; 1、效果展示2、下载 DevEco Studio3、创建项目4、新建页面模板5、更改应用信息6、新建以下页面7、Index.ets8、真机运行9、图片资源文件 1、效果展示 2、下载 DevEco Studio 访问官网根据自己的版本…

自动驾驶泊车算法详解(一)

自动驾驶泊车算法是自动驾驶技术中的重要组成部分&#xff0c;主要用于实现车辆在复杂场景下的自动泊车功能&#xff08;如垂直泊车、侧方位泊车、斜列泊车等&#xff09;。其核心目标是通过感知、规划和控制技术&#xff0c;使车辆在无人工干预的情况下安全、高效地完成泊车动…

鸿蒙next 点击穿透实现

点击穿透可以参考华为开发的保留文章,该章节只能在developer preview版本下查看 点击穿透 主要的方法是hitTestBehavior // xxx.ets Entry Component struct HitTestBehaviorExample {build() {// outer stackStack() {Button(outer button).onTouch((event) > {console.i…

27.[前端开发-JavaScript基础]Day04-函数基本使用-递归-变量作用域-函数式编程

一、JavaScript函数 1 认识JavaScript函数 程序中的foo、bar、baz 认识函数 函数使用的步骤 2 函数的声明和调用 声明和调用函数 函数的参数 有参数的函数练习 函数的返回值 函数的练习 arguments参数&#xff08;JS高级再学习&#xff09; 3 函数的递归调用 函数中调用函数…

蓝桥杯练习代码

一、最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 输入:strs = ["flower","flow","flight"] 输出:"fl"示例 2: 输入:strs = ["dog",&q…