zoukankan      html  css  js  c++  java
  • LeetCode--53 最大连续子序列(总结)

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

    # 示例:
    # 输入: [-2,1,-3,4,-1,2,1,-5,4],
    # 输出: 6
    # 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。
    # 进阶:
    # 如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。

    (解法1)
     1 def maxSubArray(nums):
     2     s, ts = - 2 ** 31, - 2 ** 31
     3     res_ = []
     4     for n in nums:
     5         if n > ts + n:
     6             ts = n
     7         else:
     8             ts = n + ts#如果当前和比n还小,当前最大和就取n,否则,取n+ts
     9         if s < ts:
    10             s = ts
    11     print(res_)
    12     return s
    13 
    14 res = maxSubArray([-2,1,-3])
    15 print(res)

     (解法2)分治法:

     
  • 相关阅读:
    Annotation
    bulid tools
    Git&Version Control
    uri&url
    HTTP &RFC
    git创建新分支
    git忽略提交文件
    redis集群搭建
    java中的线程安全是什么:
    Spring事务传播机制与隔离级别
  • 原文地址:https://www.cnblogs.com/nxf-rabbit75/p/9260772.html
Copyright © 2011-2022 走看看