【leetcode】42. 连续子数组的最大和(动态规划)

动力锂电池-二阶RC模型等效电路-RLS参数辨识-Simulink 1.锂电池二阶RC等效电路模型 阅读详情

输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。

要求时间复杂度为O(n)。

示例1:

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

提示:

1 <= arr.length <= 10^5
-100 <= arr[i] <= 100

注意:本题与主站 53 题相同:https://leetcode-cn.com/problems/maximum-subarray/

https://leetcode-cn.com/problems/lian-xu-zi-shu-zu-de-zui-da-he-lcof/
接着刷动态规划


按照动态规划的思想,找动态转义方程
dp[i] = max(dp[i] + nums[i], nums[i])
前面的序列和,与当前的值相加,是否比当前值大?
然后得到一个dp数组,取dp数组中最大值即可。

// https://leetcode-cn.com/problems/lian-xu-zi-shu-zu-de-zui-da-he-lcof/
// 面试题42. 连续子数组的最大和
int maxSubArray(vector<int>& nums) {

	vector<int> dp(nums.size());

	dp[0] = nums[0];

	for (int i = 1; i < nums.size(); i++)
	{
		dp[i] = std::max(dp[i - 1] + nums[i], nums[i]);
	}

	int res = INT_MIN;
	for (auto i : dp)
	{
		if (i > res)
			res = i;
	}

	return res;
}

MobileFusion:基于结构重参数化的移动端红外可见光图像融合方法 MobileFusion提出了一种轻量化的红外与可见光图像融合框架,通过结构重参数化技术实现移动端实时部署。该方法包含可重参数多分支卷积(RepMBConv)、轻量化上下文感知注意力(LCAA)和重参数前馈网络(RepFFN)三大模块,在训练时保留多分支结构增强特征学习,推理时合并为单路算子提升效率。实验表明,MobileFusion在MSRS、FMB等数据集上实现了融合质量与推理速度的平衡,参数量仅4000,在边缘设备上也能高效运行,为资源受限场景提供了实用解决方案。代码已开源。 阅读详情

相关推荐

系统-等保三级-CentOS Linux 7合规基线检查 shell脚本

系统-等保三级-CentOS Linux 7合规基线检查 shell脚本

swindy博客 2407

Leetcode 连续子数组的最大和

题目: 解析: 首先定义一个数组sum,sum[i]$表示从数组nums从0:i元素的和,那么假设我们想求nums从j到i的子数组的值为: sum[i]-sum[j-1] sum[i]−sum[j−1] 我们现在想求所有子数组和中最大的那个,也就是说只要维护一个变量min_val表示sum数组中0:i-1中的最小值,sum[i]-min_val,就是在nums数组中的和最大的子序列,我们只需要进行一次遍历即可。(leetcode官方解答) #include<iostream> #in

weixin_42429072的博客 670

Windows下RISC-V开发环境搭建:xpack-riscv-none-elf-gcc安装配置全攻略

本文详细介绍了在Windows平台下搭建RISC-V开发环境的完整流程,重点讲解xpack-riscv-none-elf-gcc工具链的安装配置方法。从环境变量设置到VSCode集成开发环境搭建,涵盖汇编程序和C程序开发实践,为开发者提供一站式解决方案,助力快速掌握RISC-V架构开发技能。

weixin_26765287的博客 437

LeetCode连续子数组的最大和 动态规划

输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求时间复杂度为O(n)。 输入: nums = [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 (1 <= arr.length <= 10^5,-100 <= arr[i] <= 100) 思路1:记录前缀和思想求一段连续的子数组的最大值,即任意区间【i,j】和的最大值,可以先记录前缀和。用sum[

qq_42795064的博客 498

单窗算法的地表温度反演:谷歌地球引擎GEE代码

该论文基于Statistical Mono-Window(SMW)算法,对地表温度加以求解。其中,简单地说,SMW算法即是通过简单的线性关系,对由单热红外波段所得的大气表观亮温与地表温度之间的经验关系加以表示,从而计算得到LST。

2301_78834737的博客 550

告别Qt Creator!VSCode + QMake + MinGW:从零搭建高效Qt开发环境

本文详细介绍了如何使用VSCode替代Qt Creator搭建高效的Qt开发环境,涵盖VSCode配置、QMake与MinGW集成、智能提示优化及构建调试技巧。通过实战案例展示如何提升开发效率30%以上,特别适合中大型Qt项目开发。

weixin_30466039的博客 243

leetcode-42.连续子数组的最大和

1. 问题描述 输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。 示例1: 输入: nums = [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 leetcode 42.连续子数组的最大和 2. 问题分析 1. 动态规划 假设 nums\textit{nums}nums 数组的长度是 nnn,下标从 0 到 n−1。我们用 f(i)f(i)f(i) 代表以第 iii 个数

qq_45069496的博客 1030

华为海思2026届数字IC秋招笔试真题解析与实战技巧(2025最新版)

本文深度解析华为海思2026届数字IC秋招笔试真题,涵盖高频考点如后端设计、低功耗设计、SystemVerilog语法等核心内容。提供时序违例修复、时钟树综合等实战技巧,帮助考生高效备考。特别关注UPF低功耗设计规范等最新考点,助力考生在秋招笔试中脱颖而出。

lg888的博客 1088

【leetcode】连续子数组的最大和

问题描述: 输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求时间复杂度为O(n)。 示例1: 输入: nums = [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释:连续子数组[4,-1,2,1] 的和最大,为6。 算法分析: 本题可以使用动态规划解决。动态规划方法也可以认为是填表法...

VinWqx的博客 516

别再花屏了!手把手教你用STM32CubeIDE搞定LVGL 8.3移植(附完整源码)

本文详细介绍了如何在STM32CubeIDE环境下成功移植LVGL 8.3,解决常见的花屏问题。从环境配置、显示驱动优化到编译警告处理,提供完整的实战方案和源码示例,帮助开发者快速实现流畅的嵌入式GUI界面。特别针对STM32平台的DMA2D加速和内存管理进行了深度优化。

weixin_33739646的博客 241

什么是无人机电源管理模块?电源管理模块有什么用处?

我来描述一下我的问题情景,电源管理模块的定义是,这里给出这个PX4官方对于电源管理模块的一些介绍,补充一下锂电池的放电原理大家就可以更好理解为什么需要电源管理模块

HRWVY0725的博客 2272

Leetcode 42 连续子数组的最大和——动态规划

题目 输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求时间复杂度为O(n)。 示例1: 输入: nums = [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 动态规划是本题的最优解法:时间复杂度O(N)O(N)O(N),空间复杂度O(1)O(1)O(1). 解析: 状态定义:设动态规划列表dpdpdp,dp[i]dp[i]dp[i]代表以元素nums[i]nums[i]nums[i]为结尾

weixin_44783002的博客 304

计数译码驱动显示电路实验报告_京东方G0A电路、阵列基板、显示 装置及驱动方法广州威彩...

图1、实施例二所述的选择子单元的结构示意图图2、实施例四所述的GOA电路结构示意图图3、实施例七所述的阵列基板的局部结构示意图图4、实施例所述的极性反转驱动方法的第一场的各信号时序图图5、实施例所述的极性反转驱动方法的第二场的各信号时序图图6、实施例所述的极性反转驱动方法的第三场的各信号时序图图7、实施例所述的极性反转驱动方法的第四场的各信号时序图图8、为图4所示时序下,实施例八所述显示...

weixin_35696112的博客 924

【leetcode 动态规划 C++】【剑指 Offer】 42. 连续子数组的最大和

剑指 Offer 42. 连续子数组的最大和 class Solution { public: int maxSubArray(vector<int>& nums) { int ans = nums[0], dp = nums[0]; for(int ii = 1; ii < nums.size(); ii++) { dp = max(nums[ii], dp + nums[ii]); ans

izhxxx的博客 129

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

(动态规划) 剑指 Offer 42. 连续子数组的最大和 ——【Leetcode每日一题】

剑指 Offer 42. 连续子数组的最大和 输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求时间复杂度为O(n)。

weixin_43412762的博客 543

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

LeetCode题解——42.连续子数组的最大和(动态规划思想)

这份代码中,并没有使用最大值数组。因为实际上我们只需记录前一位存储的最大值以及目前为止的最大值。下标1对应值为1,与前一位最大值-2相加为-1,是小于本身值的,因此下标1处最大值为1。在这道题中,数组连续是一个很重要的信息。我们可以创建一个数组用于记录每一位对应的最大值。同理,下标2处: -3 + 1 = -2 > -3,因此最大值为-2。从下标0处出发,该下标处没有前一位,因此-2所对应最大值即本身。按上述推导,我们在最大值数组中找到的最大值即是答案。因为题目要求连续,所以。

weixin_61857742的博客 509

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

LeetCode:剑指 Offer 42.连续子数组的最大和(动态规划)

LeetCode:剑指 Offer 42.连续子数组的最大和 https://leetcode-cn.com/problems/lian-xu-zi-shu-zu-de-zui-da-he-lcof/ 描述:输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求时间复杂度为O(n)。 每个元素只有两个选择,要么加入前面元素的连续子数组,要么以自己为起点组成连续子数组。在这个遍历的过程中,保存最大值即可。 /** * @param {number[]}

ySFRaabbcc的博客 1313

【动态规划】 LeetCode #面试题42 连续子数组的最大和(双100%)

题目链接: LeetCode #面试题42 连续子数组的最大和 题目描述: #面试题42. 连续子数组的最大和 输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求时间复杂度为O(n)。 示例1: 输入: nums = [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 提示: 1 <= arr.length <= 10^5 -100 <= arr[i] &l

Code_Yilia的博客 328

Leetcode :面试题42. 连续子数组的最大和(动态规划)

面试题42. 连续子数组的最大和 输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求时间复杂度为O(n)。 示例1: 输入: nums = [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 提示: 1 <= arr.length <= 10^5 -100 <= arr[i] <= 100 对于每个以i位置为尾的数组,dp[i],如果dp[i-1]小

stackempty2的博客 310

LeetCode 剑指offer42.连续子数组的最大和 动态规划/easy

文章目录1.Description2.Example3.Solution 1.Description 输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求时间复杂度为O(n)。 2.Example 输入: nums = [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 3.Solution 使用动态规划。 基本思路是向后统计子数组的和,如果和小于等于0的话说明对后边的和没有贡献了,令数组从

押切徹的博客 180

Leetcode剑指42.连续子数组的最大和(动态规划)

写动态规划题最重要的就是找到原本数组与需求的数组的关系 从这道题来看,求子数组的最大和,那么数组内只要某个正数之前的数组和为负,那么这个之前的数组和对最大和的贡献就为负,我们就可以将子数组的和的起点,移动到这个正数的位置上 写出动态规划转移矩阵: dp[i] = dp[i-1]+num[i] (dp[i-1]>0) dp[i] = num[i] (dp[i-1]<=0) ...

lolhahahaha的博客 137

【剑指 Offer 42. 连续子数组的最大和】【力扣刷题】【Python】【动态规划】

参考解答 动态规划 class Solution: def maxSubArray(self, nums: List[int]) -> int: for i in range(1,len(nums)): if nums[i-1]>0: nums[i]+=nums[i-1] return max(nums)

TongWu1的博客 260

leetcode剑指 Offer 42. 连续子数组的最大和(动态规划)

输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求时间复杂度为O(n)。 示例1: 输入: nums = [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 常数级别的动态规划代码 class Solution { public int maxSubArray(int[] nums) { int sum=nums[0],res=sum;

weixin_44560620的博客 110

LeetCode刷题之路-动态规划-42. 连续子数组的最大和-补0430

题目描述 输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求时间复杂度为O(n)。 示例1: 输入: nums = [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 提示: 1 <= arr.length <= 10^5 -100 <= arr[i] <= 100 解题思路 - 动态规划 首先,不知道为啥发现04-30没有打卡,我都蒙了。然后又找不到草稿,只好重写一遍

Evan_L的博客 280

LeetCode刷题之面试题42. 连续子数组的最大和

LeetCode刷题之面试题42. 连续子数组的最大和 我不知道将去向何方,但我已在路上! 时光匆匆,虽未曾谋面,却相遇于斯,实在是莫大的缘分,感谢您的到访 ! 题目: 输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求时间复杂度为O(n)。 示例: 示例 1 : 输入: nums = [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。

胡萝卜 253

【LeetCode练习】剑指 Offer 42. 连续子数组的最大和(简单|JS|动态规划)

文章目录一、题目描述二、解题思路三、代码实现 一、题目描述 二、解题思路 这题主要是要将大问题分解成小问题,用一个dp数组来记录在以i位置数字结尾的连续子数组的最大值,如果加上第i个位置的值(<0)之后变小了,则从第i个位置的数字重新开始算作连续子数组,如果加上第i个位置(>0)后dp[i]比dp[i-1]要大,则该计算可以连续下去。 在代码中其实无需判断第i个位置的值是否大于0,只需要把两种情况都算上取最大值即可。循环结束后每个以第i个数字结尾的连续子数组的最大值都计算出来后,再取一遍dp最

JJY的博客 691
上一篇: 【leetcode】322. 零钱兑换(动态规划)
下一篇: 【leetcode】96. 不同的二叉搜索树(动态规划)
eclipse_c
博客等级 码龄14年 28粉丝 162原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值