题目:

  • 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

例子:

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

思路:

动态规划:
我们先假定一个最大值,再用一个随机变量不断的更新这个最大值

class Solution:def FindGreatestSumOfSubArray(self, array):maxnum = nums[0]      # 先假定最大的值是第一个元素,tmpnum = 0            # 定义随机变量的初始值为0for i in array:       # 循环if tmpnum + i < i:     # 如果随机变量 + 元素i < 元素i  ,那么前面的元素都可以舍弃了,最大子序列只能在后面tmpnum = ielse:                  # 否则,继续加上元素itmpnum += iif maxnum < tmpnum:    # 如果随机变量大于假定的最大值,则更新最大值maxnum = tmpnumreturn maxnumif __name__ == '__main__':solution = Solution()nums = [-2,1,-3,4,-1,2,1,-5,4]print(solution.FindGreatestSumOfSubArray(nums))# 输出:[6]

复杂度:

时间复杂度: O(n)
空间复杂度: O(1)

42、最大子序和(python)相关推荐

  1. LeetCode 题 - 53. 最大子序和 python解法

    题目 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: 连续 ...

  2. python【力扣LeetCode算法题库】53- 最大子序和

    最大子序和 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: ...

  3. LeetCode最大子序和 (动态规划)python

    描述 给定一个整数数组,找到一个具有最大和的子数组,返回其最大和. 子数组最少包含一个数 您在真实的面试中是否遇到过这个题? 样例 样例1: 输入:[−2,2,−3,4,−1,2,1,−5,3] 输出 ...

  4. [剑指offer]面试题第[42]题[Leedcode][JAVA][第53题][最大子序和][动态规划][贪心][分治]

    [问题描述][第53题][最大子序和][中等] 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和.示例:输入: [-2,1,-3,4,-1,2,1, ...

  5. LeetCode 53. 最大子序和(动态规划)

    文章目录 1. 题目描述 2. 解题 2.1 暴力求解 2.2 动态规划 1. 题目描述 题目链接:https://leetcode-cn.com/problems/maximum-subarray/ ...

  6. python3和5_Python3算法之五:最大子序和

    关注微信公众号"酸痛鱼",获得更多最新最全的文章. 本文中所涉及的代码,在未特殊声明的情况下,都是基于Python3程序设计语言编写的. 建议您在PC浏览器中阅读本文,以获得更好的 ...

  7. ❤️思维导图整理大厂面试高频数组14: 最大子序积 和 最大子序和 的不同之处, 力扣152❤️

    此专栏文章是对力扣上算法题目各种方法的总结和归纳, 整理出最重要的思路和知识重点并以思维导图形式呈现, 当然也会加上我对导图的详解. 目的是为了更方便快捷的记忆和回忆算法重点(不用每次都重复看题解), ...

  8. 伍六七带你学算法 入门篇 ——最大子序和

    力扣 53. 最大子序和 难度简单 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4 ...

  9. tyvj1305 最大子序和 【单调队列优化dp】

    描述 输入一个长度为n的整数序列,从中找出一段不超过M的连续子序列,使得整个序列的和最大. 例如 1,-3,5,1,-2,3 当m=4时,S=5+1-2+3=7 当m=2或m=3时,S=5+1=6 输 ...

  10. LeetCode-53. 最大子序和-最简单的动态规划(Python3)

    题目链接: 53.最大子序和 题目描述: 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. 示例: 输入: [-2,1,-3,4,-1,2,1,- ...

最新文章

  1. php iis mysql windows2003,Windows Server 2003 IIS6.0+PHP5(FastCGI)+MySQL5环境搭建教程 | 系统运维...
  2. 1、Reactive Extensions for .NET(译)
  3. wxWidgets:wxScopedCharTypeBuffer< T >类模板用法
  4. Serverless对研发效能的变革和创新
  5. 用O(1)的时间复杂度删除单链表中的某个节点
  6. ironpython最新版本_Microsoft IronPython2.7.5 最新版
  7. SAP License:新总帐行项目无法显示
  8. 文件与目录的默认权限与隐藏权限
  9. 250个jquery 插件
  10. Android——从HellowWorld开始
  11. 基于51单片机出租车计费设计(proteus仿真+程序+原理图+设计说明书)
  12. 共识机制是什么意思?
  13. 创建Web站点的欢迎页面
  14. 15051:小Biu的区间和
  15. CSS——web字体与CSS字体图标
  16. c语言人机界面,C语言实现可视化人机界面的有效方法
  17. 为什么GEMM是深度学习的核心
  18. Kafka SASL SCRAM授权java开发demo
  19. 【AI数学原理】概率机器学习(四):半朴素贝叶斯之TAN算法实例
  20. Day12 学习分享 - 面向对象

热门文章

  1. BCG全球资产管理报告:行业增长的驱动力
  2. 梁勇:展望 2017年商业智能BI 发展的趋势
  3. (转)投资AI的核心标准是场景和数据
  4. 企业 IT 治理沙龙·北京站:业务优先?治理优先?您的企业是哪种上云姿势?...
  5. Kafka从上手到实践 - 实践真知:搭建Kafka相关的UI工具 | 凌云时刻
  6. 计算机房选址,数据中心机房如何选址 数据中心机房如何日常维护
  7. 毕设题目:Matlab验证码识别
  8. 【缺陷检测】基于matlab形态学水果蔬菜缺陷检测【含Matlab源码 820期】
  9. 【语音识别】基于matlab带动量项的BP神经网络语音识别【含Matlab源码 430期】
  10. oracle修改实例监听端口,oracle之 单实例监听修改端口