最大连续子数组和python_连续子数组的最大和(python)
一,问题
在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序列的和,
二,分析
先举个栗子
array={6,-3,-2,7,-15,1,2,2}
我先放两个盒子,里面装进array的第一个元素6
max_Num=array[0]=6
tmp_Num=array[0]=6
然后和后面的数字去求和,当出现求和的结果大于第一个元素6时,就替换6存进max_Num这个盒子里,之后如果有更大的,就再存进来
最大的连续子序列的和是由当前元素和 之前的最大连续子序列的和 叠加在一起形成的
如果之前的最大连续子序列的和大于零,我们可以继续累加,如果小于零,则需要舍去之前的子序列,重新从当前的数字开始累加。
i= - 3
tmp_Num=6-3=3
3<6所以max_Num还是6
i= - 2
tmp_Num=3-2=1
i= 7
tmp_Num=3+7=10
10>6所以max_Num=10
i=-15
tmp_Num=10-15=-5
i=1
此时tmp_Num=-5<0,所以tmp_Num=1
i=2
tmp_Num=1+2=3
i=2
tmp_Num=3+2=5
tmp_Num没有大于10的,所以输出max_Num=10
三,代码
最大连续子数组和python_连续子数组的最大和(python)相关推荐
- 算法学习-零子数组,最大连续子数组
题目 对于长度为N的数组A,求连续子数组的和最接近0的值. 如: 数组A:1,-2,3,10,-4,7,2,-5 它是所有子数组中,和最接近0的是哪个? 算法流程 申请比A长1的空间sum[-1,0, ...
- sscanf 连续相同编辑符_基于单调栈的滑动窗口法求解“和至少为 K 的最短连续子数组”...
题目解读 题目要求我们给出一个最短的连续子数组,且这个子数组的和要大于等于 K.乍一看,除了暴力,似乎没什么思路.由于数组规模为 50000,暴力肯定会超时的.但是,我们还是要先暴力一把,看看有什么灵 ...
- 《剑指offer》-- 复杂链表的复制、字符串的排列、数组中出现次数超过一半的数字、连续子数组的最大和
一.复杂链表的复制: 参考牛客网的chancy:https://www.nowcoder.com/questionTerminal/f836b2c43afc4b35ad6adc41ec941dba 1 ...
- python求最大连续子数组
寻找最大子数组问题: 给定数组A:寻找A中的和最大的非空连续子数组.我们称这样的连续子数组为最大子数组(maximum subarray) 1.暴力求解:两个循环,时间复杂度为O(n^2) 2.用分治 ...
- LeetCode 581. 最短无序连续子数组(Shortest Unsorted Continuous Subarray)
581. 最短无序连续子数组 581. Shortest Unsorted Continuous Subarray 题目描述 给定一个整型数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序 ...
- 数组中最大连续子数组和,最大连续子数组积,最大递增子序列
最大连续子数组和: 递推式:curmax=max(a[i],curmax) 其中curmax是以i为结尾(意思必须取到a[i])和的最大值,其中每次循环比较curmax和已经保存最大值 最大连续 ...
- java 最大子数组_[剑指offer题解][Java]连续子数组的最大和
前言 众所周知,<剑指offer>是一本"好书". 如果你是个算法菜鸡(和我一样),那么最推荐的是先把剑指offer的题目搞明白. 对于剑指offer题解这个系列,我的 ...
- 【LeetCode】【HOT】581. 最短无序连续子数组
[LeetCode][HOT]581. 最短无序连续子数组 文章目录 [LeetCode][HOT]581. 最短无序连续子数组 package hot;public class Solution58 ...
- Leetcode 581.最短无序连续子数组
最短无序连续子数组 给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序. 你找到的子数组应是最短的,请输出它的长度. 示例 1: 输入: [2, ...
- 牛客网:乘积为正数的最长连续子数组
1.非环形 注意审题!! 这里是求连续最长乘积为正数的长度是多少,我们维护两个长度,一个pos一个neg,pos代表到当前这个数为止的最长正数乘积,neg代表到当前这个数为止的最长负数乘积,我们对每个 ...
最新文章
- 由MessageBox和AfxMessageBox的使用异同所感
- Java图片,视频上传,截取视频帧以及文件下载和视频IO获取
- C++虚函数Demo - Win32 版本
- python filter函数_Python列表的8个实用技巧
- 合奏:机器学习中唯一(几乎)免费的午餐
- libuv 中文编程指南(四)网络
- mysql学习笔记14 多表查询初步
- C语言课后习题(12)
- opp原则_OPP--面向对象知识点
- ROS 发布kitti数据集的gps信息
- 9008刷机模式写入超时刷机帮_刷机帮教你优思高通刷机工具错误处理方法
- 浅谈CGI基本原理和底层基本实现
- [抄袭]年薪五万程序员的生活及他的理财梦
- 7-6 分支结构——大小写字母判断 (15 分)
- 安装配置Windows AIK之生成Windows PE
- mysql compact_MYSQL中InnoDB和ROW_FORMAT=COMPACT - wangqiaowqo - JavaEye技术网站
- win10和win7系统配置faster rcnn(pytorch)
- 内网穿透远程群晖NAS:免费安装cpolar内网穿透 1/6
- maven项目原型可以通过选择生成,而不用具体在命令中指定。
- 摄像机标定03之矫正