简介:连续子串最大和,指某个连续的子串里的所有元素相加,和最大的那个。

例如:[-4, 11,-2, 13,-7,-3,12] 的连续子串最大和为 24,这个子串就是[11,-2, 13,-7,-3,12]

思路:记前面n个数的和为cur_sum,当cur_sum +(第n+1个数)的和比第n+1个数它本身还小的话,即前n+1项和比第n+1个数还小,那cur_sum就重新从第n+1个数开始累加  。

举例:1,-3,2,5
前两项之和为:-2
前三项之和为:0
前四项之和为:5
如果像这样直接计算前N项和,会得到最大和5,这不是我们要的,显然最大和应该是最后两项之和7,这说明什么?
说明第三项被前两项和拖后腿了,1+(-3)=-2,而(-2)+2=0<2,应该重新从第三项开始。

# -*- coding: utf-8 -*-def MaxSubarray(nums):max_sum=cur_sum=nums[0]for num in nums[1:]:cur_sum=max(cur_sum+num,num)  max_sum=max(max_sum,cur_sum)return max_sumif __name__ == '__main__':nums=[-4, 11,-2, 13,-7,-3,12]print(MaxSubarray(nums))

求[1, -9, 10, -3, -1, 5, -15, -7, 6]的连续子串最大和

连续子串最大和——python实现相关推荐

  1. N 组连续子串最大和

    数组 a 中有 M 个数 , 将 M 个数分成 N 组 , 并且每组中的数据顺序和原数组中的顺序保持一致,求 N 组中的数据之和最大为多少? 向 dp 数组中赋初始值 ,如果 M == N ,则 dp ...

  2. Python获取一个字符串所有连续子串

    获取一个字符串所有连续子串组成集合(set)的长度,居然是Facebook的interview题目,我也做出来了,哈哈: def get_all_substrings(string):length = ...

  3. 经典题目题解:连续子串和

    连续子串和(subs) 问题描述: 给定n个整数,求其中至少k个连续数的最大和. 输入格式: 第一行为正整数t(≤5),表示数据组数:每组数据中,第一行为两个正整数n(≤3*105)和k(≤n):接下 ...

  4. java无序数组找最长连续子串,算法题整理

    链表: 一个单链表,奇数位升序,偶数位降序,输出排序后的单链表.(写了个归并,拆成两个单链表并且把偶数位做头插翻转过来,再归并到一起.) 链表节点两两反转 奇偶链表 单向链表,头尾奇偶交替输出(中等) ...

  5. 利用动态规划求连续数组最大和以及最大子矩阵的和

    题目一: 给定一个整型数组,数组中有正有负,求最大连续子序列的和. 解法: 利用动态规划的思想. 设f(n)表示以a[n]为子序列最后一个元素的最大和,则可以有下面的规则: (1)当f(n-1)< ...

  6. 【算法】算法测试题4:最长公共连续子串

    问题描述 链接:https://www.nowcoder.com/ques... 来源:牛客网 给出两个字符串(可能包含空格),找出其中最长的公共连续子串,输出其长度. 输入描述 输入为两行字符串(可 ...

  7. 1494: 连续子串和续

    1494: 连续子串和续 http://www.acmore.net/problem.php?id=1494 Time Limit: 10 Sec  Memory Limit: 128 MB Subm ...

  8. Maximum Sum UVA - 108(连续子序列最大和—变形之子矩阵最大和)

    题目大意:给出 n*n 的矩阵,找每隔数字之和最大的子矩阵,输出最大和.  解题思路:枚举矩阵左上和右下的坐标,分别合并子矩阵的每列,使得二维转化为一维,然后利用连续子序列最大和去做就行. Time ...

  9. SPOJ687 Repeats(重复次数最多的连续子串)

    Repeats hihoCoder 1419 后缀数组四·重复旋律4(重复次数最多的连续子串) #include<bits/stdc++.h> using namespace std;// ...

  10. CodeForces 1506C(暴力求最长连续子串) acm寒假集训日记21/12/31or22/1/1

    题目如下: AC代码如下: #include<iostream> #include<algorithm> #include<cstring> #include< ...

最新文章

  1. 2021-08-02 json文件批量转化mask,生成train.txt路径make_path.py
  2. php定义变量f= e怎么写,php变量怎么定义-PHP问题
  3. Description Resource Path Location Type Project configuration is not up-to-d
  4. win10 mysql 3534_win10 mysql 5.7.13 服务无法启动 3534
  5. list 根据某个数字所在位置_富玩车穷玩表,一个案例轻松认识python列表List——计算Hadamard 乘积...
  6. python实现批量压缩文件夹
  7. 训练日志 2018.11.14
  8. 二进制安装的mysql怎么卸载_mysql安装-----二进制包安装及卸载
  9. gstreamer之RTSP Server一个进程提供多路不同视频
  10. 抽离css以及公共js
  11. ps教程全套|零基础教程-高阶教程快速入门
  12. c语言中if函数应用举例,if函数(if函数的应用举例)
  13. 三校生计算机教学计划,三校生高考英语教学计划.doc
  14. 【反思】写在腾讯电话面试之后
  15. $.ajax()方法详解
  16. 50部必看的经典好莱坞电影
  17. win7系统无法激活问题
  18. 堆外内存的介绍及释放
  19. Expected more than 1 value per channel when training, got input size torch.Size([1, **])
  20. Unity中手动压缩图片 修改图片分辨率

热门文章

  1. 普通人的电脑离***远吗
  2. java 表格添加背景图片_Java 填充Excel图表中的图例背景(颜色填充、图片填充)...
  3. 情人节看IT男如何告白,IT男的告白攻略
  4. javascript获取非行间样式的函数封装
  5. vue遍历中key详解 (Demo案例)
  6. 模拟版图layout能否转数字IC后端实现?
  7. 电源纹波和电源噪声有什么区别?
  8. 亲测有效:解决inkscape转换的svg图标,上传到阿里图标库不显示问题
  9. Laravel Eloquent ORM字段处理
  10. GMT和CST时间区别