zoukankan      html  css  js  c++  java
  • leetcode53 最大子序列和

    leetcode-53 最大子序和

    题目描述:

    给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
    注:使用python3提交,会出ujson的错误,使用python2提交即可,应该是系统问题

    class Solution:
        def maxSubArray(self, nums: List[int]) -> int:
            if not nums:
                return
            sumc = [0]*(len(nums))
            sumc[0] = nums[0]
            for i in range(1,len(nums)):
                sumc[i] = max(sumc[i-1]+nums[i],nums[i])
            max_sum = max(sumc)
            # index = sum_.index(sum_)
            # res = [nums[index]]
            # index -= 1
            # while index>=0 and (max_sum-sum_[index+1]==nums[index]):
            #     res.append(nums[index])
            #     index -= 1
            return max_sum
    

    如果需要输出相应的子数组
    从最大值索引到之前所有和大于0的位置都是

    class Solution(object):
        def maxSubArray(self, nums):
            """
            :type nums: List[int]
            :rtype: int
            """
            if not nums:
                return
            sumc = [0]*(len(nums))
            sumc[0] = nums[0]
            for i in range(1,len(nums)):
                sumc[i] = max(sumc[i-1]+nums[i],nums[i])
            max_sum = max_res= max(sumc)
            index = sumc.index(max_sum)
            res = [nums[index]]
            index -= 1
            while index>=0 and (sumc[index]>=0):
                res.append(nums[index])
                index -= 1
            print(res[::-1])
            return max_res     
    
  • 相关阅读:
    Windows 系统里面的 hosts 文件
    JDK 安装目录中 native2ascii.exe 命令详解
    火狐浏览器安装 Modify Headers 插件
    java iterator
    HashSet HashTable HashMap的区别
    c# 序列化
    Oracle 同步
    QL Server 高可用性(一)AlwaysOn 技术
    sqlserver 日志传送
    oracle forall
  • 原文地址:https://www.cnblogs.com/curtisxiao/p/11219667.html
Copyright © 2011-2022 走看看