首页 > 其他分享 >力扣---53. 最大子数组和

力扣---53. 最大子数组和

时间:2023-06-27 22:12:39浏览次数:32  
标签:--- nums int res 示例 53 力扣 数组 dp

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

 

第 i 个位置的答案,有两种情况:1 第 i - 1 个位置的最大值,加上第 i 个位置的数字。 2 第 i - 1 个位置的最大值小于 0 时,直接选择第 i 个位置的数字。

由于只用到了第 i - 1 个位置的最大值,所以可以用一个变量来存储。

class Solution {
    public int maxSubArray(int[] nums) {
        int res = nums[0];
        int dp = nums[0];
        for (int i = 1; i < nums.length; i ++) {
            dp = Math.max(dp, 0) + nums[i];
            res = Math.max(res, dp);
        }
        return res;
    }
}

 

标签:---,nums,int,res,示例,53,力扣,数组,dp
From: https://www.cnblogs.com/allWu/p/17510042.html

相关文章

  • vue组件-启用less语法以及唯一根节点
    <template><div><divclass="test-box"><h3>这是用户自定义的Test.vue---{{username}}</h3><button@click="changeName">修改用户名</button></div>&l......
  • 介绍Hibernate使用UserType - 51CTO.COM
     介绍Hibernate使用UserType这里介绍Hibernate使用UserType,UserType就是用户自定义类型,这里的类型指的是除了Hibernate定义的那些类型之外的用户自己定义的。AD: Hibernate有很多值得学习的地方,这里我们主要介绍Hibernate使用UserType,包括介绍UserType就是用户自定义类型......
  • Log - Log4j - Apache Log4j概论
    1.Log4j的类图Logger-日志写出器,供程序员输出日志信息Appender-日志目的地,把格式化好的日志信息输出到指定的地方去ConsoleAppender-目的地为控制台的AppenderFileAppender-目的地为文件的AppenderRollingFileAppender-目的地为大小受限的文件的AppenderLayout-......
  • JMS - ActiveMQ - 介绍 、使用场景、优点和不足
    ActiveMQj简介ActiveMQ是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ是一个完全支持JMS1.1和J2EE1.4规范的JMSProvider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。开源的JMSProvider大部分都已经停止发展。  Active......
  • 力扣---1186. 删除一次得到子数组最大和
    给你一个整数数组,返回它的某个 非空 子数组(连续元素)在执行一次可选的删除操作后,所能得到的最大元素总和。换句话说,你可以从原数组中选出一个子数组,并可以决定要不要从中删除一个元素(只能删一次哦),(删除后)子数组中至少应当有一个元素,然后该子数组(剩下)的元素总和是所有子数组之中最......
  • iText 0.30 - 0.99 (February 14, 2000 - May 1, 2003)
      ChangelogsiText0.30-0.99(February14,2000-May1,2003)iText0.30-0.99(February14,2000-May1,2003)In1998-1999,BrunowrotehisfirstPDFlibrary,butifyouwantedtouseit,youneededtobeaPDFspecialist:youneededtoknowallabout......
  • 海康威视DS-8864N-R8/4K 64路高性能8盘位录像机
     海康威视DS-8864N-R8/4K64路高性能8盘位录像机尺寸440mm(宽)*461mm(深)*94mm(高)机箱2U标准机箱工作温度工作:0℃~50℃,储藏:-10℃~70℃功耗(不含硬盘)≤85W风扇1个风扇,不支持调速电源规格100~240VAC电源ATX电源盘位8个SATA接口可售卖地北京;天津;河北;山西;内蒙古;辽......
  • Java并发(十二)----线程应用之多线程解决烧水泡茶问题
    1、背景统筹方法,是一种安排工作进程的数学方法。它的实用范围极广泛,在企业管理和基本建设中,以及关系复杂的科研项目的组织与管理中,都可以应用。怎样应用呢?主要是把工序安排好。比如,想泡壶茶喝。当时的情况是:开水没有;水壶要洗,茶壶、茶杯要洗;火已生了,茶叶也有了。怎么办?办法甲......
  • Qemu中生成针对具体体系结构的纯净代码的方法---利用GCC的-E选项
      实验室正在研究一个叫做Qemu的项目,外国人写的初始代码。里面很多内容是我们不需要的,但是却参杂在我们关注的代码中。突然想到了一个编译命令-E,它能够一下子就把那些不需要的代码过滤掉。以前几次开会大家都抱怨这个东西干扰信息太多,导致代码分析的连贯性总是被打断,进度特别慢......
  • 【五期邹昱夫】CCF-B(IEEE Access'19)Badnets: Evaluating backdooring attacks on deep
    "Gu,Tianyu,etal."Badnets:Evaluatingbackdooringattacksondeepneuralnetworks."IEEEAccess7(2019):47230-47244."  本文提出了外包机器学习时选择值得信赖的提供商的重要性,以及确保神经网络模型安全地托管和从在线存储库下载的重要性。并展示了迁移学习场......