【代码随想录】刷题记录(83)-最大子数组和

news/2024/12/25 10:48:09/

题目描述:

给你一个整数数组 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

 

我的作答:

根据贪心算法的原理,局部最优解推出全局最优解。那么,只要加上下一个数比当前累加值大,就立即更新加上下一个值的结果;而如果下一个数是负数,那么立马归零,表示这个数打断了子序列(因为一旦加上一个负数,只会一直“拖后腿”)

python">class Solution(object):def maxSubArray(self, nums):""":type nums: List[int]:rtype: int"""result = -float('inf') #定义无穷小count = 0for i in range(len(nums)):count += nums[i]if count>result:result = countif count<0:count = 0return result

f513127d23bc4f34abb5a0a0ca161ec7.png

 

参考代码:

差不多

 


http://www.ppmy.cn/news/1557970.html

相关文章

【华为OD-E卷-通信误码 100分(python、java、c++、js、c)】

【华为OD-E卷-通信误码 100分&#xff08;python、java、c、js、c&#xff09;】 题目 信号传播过程中会出现一些误码&#xff0c;不同的数字表示不同的误码ID&#xff0c;取值范围为1 ~ 65535&#xff0c; 用一个数组记录误码出现的情况&#xff0c;每个误码出现的次数代表误…

soular使用教程

用 soular 配置你的组织&#xff0c;工作更高效&#xff01;以下是快速上手的简单步骤&#xff1a; &#xfeff; 1. 账号管理 可以对账号信息进行多方面管理&#xff0c;包括分配不同的部门、用户组等&#xff0c;从而确保账号权限和职责的清晰分配。 &#xfeff; 1.1 用…

PAIDDE:一种置换存档信息定向差分进化算法

A. 动机 在进化计算领域&#xff0c;反馈信息的利用对搜索算法的性能有重要影响[59]-[62]。基于差分进化&#xff08;DE&#xff09;的发展过程&#xff0c;人们普遍认为&#xff0c;信息的使用越广泛和全面&#xff0c;DE变体的性能就越优越[25]&#xff0c;[28]。例如&#…

scala中模式匹配的应用

package test34object test6 {case class Person(name:String)case class Student(name:String, className:String)// match case 能根据 类名和属性的信息&#xff0c;匹配到对应的类// 注意&#xff1a;// 1 匹配的时候&#xff0c;case class的属性个数要对上// 2 属性名不需…

Blazor项目中使用EF读写 SQLite 数据库

《信管通低代码信息管理系统应用平台》开发环境就是Blazor&#xff0c;其中的数据库访问就是使用SQLite数据库。SQLite 是一种轻量级的嵌入式数据库&#xff0c;具有以下优点&#xff1a; 1. 轻量级 小巧易用&#xff1a;SQLite 只需要一个动态库或单个文件&#xff0c;库的大…

VMD-SSA-BiLSTM、VMD-BiLSTM、BiLSTM时间序列预测对比

VMD-SSA-BiLSTM、VMD-BiLSTM、BiLSTM时间序列预测对比 目录 VMD-SSA-BiLSTM、VMD-BiLSTM、BiLSTM时间序列预测对比预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.MATLAB实现VMD-SSA-BiLSTM、VMD-BiLSTM、BiLSTM时间序列预测对比; 2.单变量时间序列预测 就是先vmd把变…

Golang框架实战-KisFlow流式计算框架(9)-Cache/Params 数据缓存与数据参数

Golang框架实战-KisFlow流式计算框架专栏 Golang框架实战-KisFlow流式计算框架(1)-概述 Golang框架实战-KisFlow流式计算框架(2)-项目构建/基础模块-(上) Golang框架实战-KisFlow流式计算框架(3)-项目构建/基础模块-(下) Golang框架实战-KisFlow流式计算框架(4)-数据流 Golang框…

高德地图自定义折线矢量图形

实现的功能&#xff1a;通过点标记连接生成线 实现折线适量图形 进一步实现功能&#xff1a;1.对指定点进行拖拽 2.从多个点中删除指定点 // 初始化地图map.value new AMap.Map(g-container, {resizeEnable: true,center: [longitude, latitude],layers: [// 卫星new AMap.T…