剑指offer 面试题42 连续子数组最大和

连续子数组的最大和(C++) 题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序... 阅读详情

题目描述
HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序列的和,你会不会被他忽悠住?(子向量的长度至少是1)

注意这里最低复杂度O(n),不需要太复杂的操作!

class Solution {
public:
    int FindGreatestSumOfSubArray(vector<int> array) {
		int max=INT32_MIN;
		int sumNow=0;
		for (int i = 0; i < array.size(); i++)
		{
			sumNow+=array[i];
			if(sumNow>max) {
				max=sumNow;
			}
			if(sumNow<=0) {
				sumNow=0;
			}
		}
		return max;
    }
};
保姆级教程:手把手教你为STM32F407和W25Q128制作Keil MDK的SPI Flash下载算法(FLM文件) 本文提供了一份详细的教程,指导开发者如何为STM32F407和W25Q128制作Keil MDK的SPI Flash下载算法(FLM文件)。从理解下载算法的核心机制到实现FlashPrg.c的核心操作,再到链接脚本与地址映射实战,手把手教你完成定制化SPI Flash下载算法的开发与优化。 阅读详情

相关推荐

手把手教你用Kali+字典爆破WiFi密码:从抓包到破解的完整流程

本文提供了一份详尽的无线网络渗透测试实战指南,重点讲解如何使用Kali Linux和Aircrack-ng套件进行WiFi安全评估。内容涵盖从硬件选型(如RTL8812AU网卡)、驱动配置、监听模式设置,到使用airodump-ng扫描抓包、捕获WPA握手包,以及利用字典进行离线破解的完整流程。同时强调了在授权环境下进行安全测试的重要性,并给出了相应的网络加固建议。

weixin_28568819的博客 1674

【C++】C++连续子数组的最大和

C++连续子数组的最大和 ##问题分析 见到这个问题的第一反应可能是暴力求解,依次遍历数组的子数组,但往往此方法的时间复杂度比较高,因此肯定不是最优解 一、分析数组和规律 随意给出一个数组:array【8】={1,-2,3,10,-4,7,2,-5}; 可以看到如果从头开始累加,那么到第二项时,子数组和就会编程负数, 因此该和不可能成为可能解。因此可以得出一下结论和步骤: ###①当遍历子数组时,对于小于等于0的部分可以直接抛弃; for(int i = 0 ; i< n ; i++) i

weixin_43883900的博客 909

手把手教你复现IEEE 2025高光谱图像盲超分算法DBSR(附开源代码与避坑指南)

本文详细介绍了如何从零复现IEEE 2025高光谱图像盲超分算法DBSR,包括环境配置、数据预处理、核心模块解析、训练策略及常见问题解决方案。特别针对开源代码中的关键步骤和潜在问题提供了实用指南,帮助研究者和开发者高效实现Deep blind super-resolution技术,适用于遥感、医疗等领域的图像增强应用。

weixin_42524708的博客 411

连续子数组的最大和——C++

我们利用贪心思想解决这个问题,最容易想到的就是不断累加的过程。当累加的和小于0时,说明对最终结果是负贡献,就从下一个数重新开始,同时更新最大和的值,当累加和大于0时,说明是正贡献,将下一个数值加入和中,同时更新最大和的值。 #include<iostream> #include<vector> using namespace std; int main(){ int n;cin>>n;vector<int> arr(n); for(int i=0;i&lt

Dream19961996的博客 599

STM32F103跑LVGL,用DMA加速刷屏,800*480大屏也能丝滑

本文详细介绍了如何在STM32F103芯片上通过DMA加速和内存优化,实现800*480大屏的LVGL流畅运行。通过FSMC+DMA硬件架构优化、双缓冲机制和LVGL参数调优,显著提升了界面刷新率和响应速度,适用于嵌入式GUI开发中的高性能需求场景。

weixin_30357231的博客 376

双三相电机控制避坑指南:为什么你的SVPWM谐波大?四矢量调制实战解析

本文深入解析双三相电机控制中SVPWM谐波大的问题,并提供四矢量调制实战方案。通过分析谐波来源、四矢量调制原理及工程实现步骤,显著降低电流THD至3-5%,提升系统效率2.3个百分点。特别适合需要优化电机控制的工程师参考。

weixin_30645617的博客 397

【C++】数组中连续子数组的最大和

题意:Find the contiguous subarray within an array (containing at least one number) which has the largest sum. For example, given the array [-2,1,-3,4,-1,2,1,-5,4], the contiguous subarray [4,-1,2,1] 计算数组中连续子数组

小屋 2311

zemax显微镜设计

光学显微镜(Optical Microscope,简写OM)是利用光学原理,把人眼所不能分辨的微小物体放大成像,以供人们提取微细结构信息的。我这里是插入进来之后才反转,如果之前已经在目镜的单独文件夹反转过了就不用了。将目镜的焦距设定为25mm,通过缩放,然后将镜头调转过来。镜头数据中的曲率半径、物距像距都设置为变量。将镜头的焦距整体变为16.25mm。将孔径类型设置为按照光阑尺寸浮动。打开物镜的文件,选择插入镜头。由英国物理学家虎克制作。2、像空间孔径0.25。3、像面大小-0.9。

fendoudecheng的博客 8544

剑指offer面试题42(java版):连续子数组的最大和

welcome to my blog 剑指offer面试题42(java版):连续子数组的最大和 题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,...

littlehaes的博客 770

国科大学习资料--遥感原理集图像处理(尤红建)--2019年期末考试

国科大学习资料–遥感原理集图像处理(尤红建)–2019年期末考试 国科大学习资料–遥感原理集图像处理(尤红建)–2019年期末考试 国科大学习资料–遥感原理集图像处理(尤红建)–2019年期末考试 ================================================================== ================================================================== ==============

无名何许人的博客 1469

数据分享】中国12.5m数字高程模型(DEM)数据(分省)

数据名称:ALOS 12.5m DEM 数据。数据名称:ALOS 12.5m DEM 数据。数据大小:61.5GB。空间分辨率:12.5m。数据大小:61.5GB。空间分辨率:12.5m。

JData_Engineer的博客 5387

《剑指offer—面试题42:连续子数组的最大和》

《剑指offer—面试题42:连续子数组的最大和》 注明:仅个人学习笔记 /** * * * 连续子数组的最大和 * */ public class FindGreatestSumOfSubArray42 { boolean g_InvalidInput = false;// 来标记是否输入无效 public int FindGreatestSumOfSubA...

步履不停的橙子 231

SAP Fiori Elements 扩展实战:UI 层扩展、OData 服务扩展、CDS 视图增强及全流程案例

UI 层扩展主要关注在不修改标准生成界面的基础上,自定义用户界面元素和交互逻辑。典型需求包括:在现有 Fiori Elements 界面上添加新的字段(如表格列或表单项)、增加自定义按钮并绑定操作、以及通过控制器扩展加入事件处理等。无论在 RAP 还是传统 BOPF 架构下,前端 UI 扩展通常采用 SAPUI5 提供的**扩展点(Extension Points)和控制器扩展(Controller Extension)**机制来安全地插入自定义代码。下面分别说明两种后端架构下 UI 扩展的实现方式。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 899

【剑指offer】面试题42 连续子数组的最大和

题目要求 输入一个整形数组,数组里有正数和负数。数组中的一个或连续多个整数数组做成一个子数组。 求所有子数组的和的最大值。要求时间复杂度为O(n),如:{1,-2,3,10,-4,7,2,-5}, 和最大的子数组是{3,10,-4,7,2},所以输出和 18 class Solution { public: int FindGreatestSumOfSubArray(vector&amp;amp;lt;...

爱喝舒化奶的博客 349

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

剑指offer | 面试题42:连续子数组的最大和

转载本文章请标明作者和出处 本文出自《Darwin的程序空间》 本文题目和部分解题思路来源自《剑指offer》第二版 开始行动,你已经成功一半了,献给正在奋斗的我们 题目 输入一个整型数组,数组里有正数也有负数。数组中一个或连续的多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。 例如:输入的数组为{1, -2, 3, 10, -4, 7, 2, -5},和最大的子...

程序员大航子 1万+

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

剑指Offer——面试题42:连续子数组的最大和

面试题42:连续子数组的最大和 题目:输入一个整型数组,数组里有正数也有负数。数组中一个或连续的多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如,输入的数组为{1,-2,3,10,-4,7,2,-5},和最大的子数组为{3,10,-4,7,2},因此输出为该子数组的和18。 解决方法 解法一:举例分析数组的规律 #include<iostream> ...

愿你慢慢变强的博客 460

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

【剑指offer】面试题42:连续子数组的最大和

题目:输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。 牛客网链接:https://www.nowcoder.com/questionTerminal/459bd355da1549fa8a49e350bf3df484  例如输入的数组为{1,-2,3,10,-4,7,2,-5 },和最大的子数组为{3,1...

Java学习 1083

《剑指offer》面试题42:连续子数组的最大和

题目:输入一个整型数组,数组里有正数也有负数。数组中一个或连续的多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为{1,-2,3,10,-4,7,2,-5},和最大的子数组为{3,10,-4,7,2},因此输出为该子数组的和18。 思路: 1.定义两个变量res和curSum,其中res保存最终要返回的结果,即最大的子数组之和。 2.curSum初始值为...

qq_43502142的博客 263

《剑指offer》 面试题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 动态规划 这个题用暴力做显然对我们想要的时间复杂度O(n)不能满足,很明显这道题就是一

小李的博客 376

Java详解剑指offer面试题42--连续子数组的最大和

Java详解剑指offer面试题42–连续子数组的最大和 输入一个整型数组,数组里正负数都可能有,数组中的一个或者连续的多个整数组成一个子数组。求所有子数组的和的最大值,要求时间复杂度为O(n) 枚举所有的子数组,从中选择最大和可能是很容易想到的办法了,但是总共有n(n+1)/2n(n+1) /2n(n+1)/2个子数组,最快也需要O(n2)O(n^2)O(n2)时间复杂度,Pass。 我们可以举例分析数组的特点比如{1, -2, 3, 10, -4, 7, 2, -5}。首先记录下第一个元素,先假

快乐李同学的博客 487

【剑指offer】面试题 42. 连续子数组的最大和

面试题 42. 连续子数组的最大和 NowCoder 题目描述 输入一个整型数组,数组里有正数也有负数。数组中一个或连续的多个整数组成一个子数组。求所有子数组的和的最大值。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 注意: 要求时间复杂度为 O(n)。 Java 实现 public class Sol...

weixin_30407099的博客 115

剑指offer - 面试题42: 连续子数组的最大和 - C++

三刷, 倒是写出来了,但是还是忽略了数组全都是负数的情况!两种解决方法之前已经讲清楚了。 所以此题题眼在全是负数的情况! 另外,只给出最大和的话,子数组左界没什么用,可以不写 /***************************************************/ 今天同学说腾讯面试考到这道了,知道自己做过,但就是想不起来怎么做,很惶恐,很无奈。想了很久,去上网查...

L_bic的博客 279

牛客剑指Offer面试题42:连续子数组的最大和

题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序列...

ljmiiianng的博客 187

剑指offer:面试题42:连续子数组的最大和

题目 输入一个整型数组,数组里有正数也有负数。数组中一个或连续的多个整/数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。 思路 思路一 分析规律,从第一个数字开始累加,若走到某一个数字时,前面的累加和为负数,说明不能继续累加了,要从当前数字重新开始累加。在累加过程中,将每次累加和的最大值记录下来,遍历完成后,返回该数字。 思路二 利用动态规划,用函数f(i)表示第i个数字结尾...

www122930的博客 226

剑指Offer面试题42:连续子数组的最大和

题目描述(重要) HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大...

freeygh的博客 349
上一篇: 高级算法课后题——能否成环
下一篇: 几种常见的开源软件许可协议(GPL, LGPL, Apache License, BSD)
wenkun97
博客等级 码龄10年 15粉丝 139原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值