一,问题

在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{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)相关推荐

  1. 算法学习-零子数组,最大连续子数组

    题目 对于长度为N的数组A,求连续子数组的和最接近0的值. 如: 数组A:1,-2,3,10,-4,7,2,-5 它是所有子数组中,和最接近0的是哪个? 算法流程 申请比A长1的空间sum[-1,0, ...

  2. sscanf 连续相同编辑符_基于单调栈的滑动窗口法求解“和至少为 K 的最短连续子数组”...

    题目解读 题目要求我们给出一个最短的连续子数组,且这个子数组的和要大于等于 K.乍一看,除了暴力,似乎没什么思路.由于数组规模为 50000,暴力肯定会超时的.但是,我们还是要先暴力一把,看看有什么灵 ...

  3. 《剑指offer》-- 复杂链表的复制、字符串的排列、数组中出现次数超过一半的数字、连续子数组的最大和

    一.复杂链表的复制: 参考牛客网的chancy:https://www.nowcoder.com/questionTerminal/f836b2c43afc4b35ad6adc41ec941dba 1 ...

  4. python求最大连续子数组

    寻找最大子数组问题: 给定数组A:寻找A中的和最大的非空连续子数组.我们称这样的连续子数组为最大子数组(maximum subarray) 1.暴力求解:两个循环,时间复杂度为O(n^2) 2.用分治 ...

  5. LeetCode 581. 最短无序连续子数组(Shortest Unsorted Continuous Subarray)

    581. 最短无序连续子数组 581. Shortest Unsorted Continuous Subarray 题目描述 给定一个整型数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序 ...

  6. 数组中最大连续子数组和,最大连续子数组积,最大递增子序列

    最大连续子数组和: 递推式:curmax=max(a[i],curmax)    其中curmax是以i为结尾(意思必须取到a[i])和的最大值,其中每次循环比较curmax和已经保存最大值 最大连续 ...

  7. java 最大子数组_[剑指offer题解][Java]连续子数组的最大和

    前言 众所周知,<剑指offer>是一本"好书". 如果你是个算法菜鸡(和我一样),那么最推荐的是先把剑指offer的题目搞明白. 对于剑指offer题解这个系列,我的 ...

  8. 【LeetCode】【HOT】581. 最短无序连续子数组

    [LeetCode][HOT]581. 最短无序连续子数组 文章目录 [LeetCode][HOT]581. 最短无序连续子数组 package hot;public class Solution58 ...

  9. Leetcode 581.最短无序连续子数组

    最短无序连续子数组 给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序. 你找到的子数组应是最短的,请输出它的长度. 示例 1: 输入: [2, ...

  10. 牛客网:乘积为正数的最长连续子数组

    1.非环形 注意审题!! 这里是求连续最长乘积为正数的长度是多少,我们维护两个长度,一个pos一个neg,pos代表到当前这个数为止的最长正数乘积,neg代表到当前这个数为止的最长负数乘积,我们对每个 ...

最新文章

  1. 由MessageBox和AfxMessageBox的使用异同所感
  2. Java图片,视频上传,截取视频帧以及文件下载和视频IO获取
  3. C++虚函数Demo - Win32 版本
  4. python filter函数_Python列表的8个实用技巧
  5. 合奏:机器学习中唯一(几乎)免费的午餐
  6. libuv 中文编程指南(四)网络
  7. mysql学习笔记14 多表查询初步
  8. C语言课后习题(12)
  9. opp原则_OPP--面向对象知识点
  10. ROS 发布kitti数据集的gps信息
  11. 9008刷机模式写入超时刷机帮_刷机帮教你优思高通刷机工具错误处理方法
  12. 浅谈CGI基本原理和底层基本实现
  13. [抄袭]年薪五万程序员的生活及他的理财梦
  14. 7-6 分支结构——大小写字母判断 (15 分)
  15. 安装配置Windows AIK之生成Windows PE
  16. mysql compact_MYSQL中InnoDB和ROW_FORMAT=COMPACT - wangqiaowqo - JavaEye技术网站
  17. win10和win7系统配置faster rcnn(pytorch)
  18. 内网穿透远程群晖NAS:免费安装cpolar内网穿透 1/6
  19. maven项目原型可以通过选择生成,而不用具体在命令中指定。
  20. 摄像机标定03之矫正

热门文章

  1. 如何通过JS调用快递单号查询接口,完成物流轨迹查询
  2. 想知道北京的公交线路图吗?用python给你画出来
  3. linu重置root密码(CentOS7)
  4. linu安装mysql5.7
  5. 干货满满:一位博士在华为的22年
  6. 常见bugger集合
  7. Opencv之给图片加水印
  8. pysam筛选reads写bam
  9. 前端每日实战:77# 视频演示如何用纯 CSS 创作旗帜飘扬的动画
  10. python mongdb 和 mysql简单使用