首页 > 其他分享 >918. 环形子数组的最大和

918. 环形子数组的最大和

时间:2024-09-18 23:14:14浏览次数:1  
标签:min max sum maxv 环形 918 数组 answer minv

题目链接 918. 环形子数组的最大和
思路 最大子数组和-简单变体
题解链接 没有思路?一张图秒懂!(Python/Java/C++/Go/JS)
关键点
时间复杂度 \(O(n)\)
空间复杂度 \(O(1)\)

代码实现:

class Solution:
    def maxSubarraySumCircular(self, nums: List[int]) -> int:
        max_answer = -inf
        min_answer = 0

        maxv = minv = 0
        for num in nums:
            maxv = max(maxv, 0) + num
            max_answer = max(max_answer, maxv)

            minv = min(minv, 0) + num
            min_answer = min(min_answer, minv)
        
        sum_ = sum(nums)
        if sum_ == min_answer:
            return max_answer
        return max(max_answer, sum_ - min_answer)

标签:min,max,sum,maxv,环形,918,数组,answer,minv
From: https://www.cnblogs.com/WrRan/p/18419544

相关文章

  • 152. 乘积最大子数组
    题目链接152.乘积最大子数组思路最大子数组和-简单变体题解链接动态规划关键点无时间复杂度\(O(n)\)空间复杂度\(O(1)\)代码实现:classSolution:defmaxProduct(self,nums:List[int])->int:answer=premax=premin=nums[0]......
  • 1191. K 次串联后最大子数组之和
    题目链接1191.K次串联后最大子数组之和思路前缀和/动态规划-最大子数组和-简单变体题解链接dp做法正确性的详细证明(图帮助理解)关键点分情况讨论(\(k\ge2\)):1.序列和小于02.序列和大于等于0时间复杂度\(O(n)\)空间复杂度\(O(1)\)代码实现:MOD=1......
  • 1749. 任意子数组和的绝对值的最大值
    题目链接1749.任意子数组和的绝对值的最大值思路前缀和/动态规划-最大子数组和-简单变体题解链接两种方法:动态规划/前缀和(附题单!Python/Java/C++/Go/JS)关键点无时间复杂度\(O(n)\)空间复杂度\(O(1)\)代码实现(动态规划):classSolution:defmax......
  • [模板题] - 53. 最大子数组和
    题目链接53.最大子数组和思路1.前缀和2.动态规划题解链接两种方法:前缀和/动态规划(Python/Java/C++/C/Go/JS/Rust)关键点无时间复杂度\(O(n)\)空间复杂度\(O(1)\)代码实现(前缀和):classSolution:defmaxSubArray(self,nums:List[int])->......
  • Day18 二叉树part08| LeetCode 669. 修剪二叉搜索树 , 108.将有序数组转换为二叉搜索树
    669.修剪二叉搜索树669.修剪二叉搜索树classSolution{publicTreeNodetrimBST(TreeNoderoot,intlow,inthigh){if(root==null)returnnull;//处理节点值<low的情况:当前节点及其左子树的所有节点都不在范围内,继续在其右子树上修......
  • 20240918 模拟赛总结
    期望得分:100+100+15=215实际得分:100+25+0=125?????????????????????????????????????不是哥们T1签到题,倒着做二分即可。T2我服了啊,我以为复杂度有点假,可能T掉几个点,结果挂成n^2了,怎么回事呢???第一眼想到的就是CF888G那个异或完全图最小生成树,当时只想了Kruskal的做法,这次也想照搬啊,实现就用了普通线段树+......
  • 【快慢指针】突破环形链表
      ......
  • 0918高数一千题,多元函数积分学
     T17.第一型曲线积分空间形式用斯托克斯公式化成第二型曲面积分解第二型曲面积分,用高斯公式或者投影转换法,后者注意正负号,上正下负,前正后负T18.换路径,但是x=1左半段不能化成lnx算T19.求偏导就对对应字母求就行,不用对y导xT20.多元极值AC-B2>0A>0,极小A<0,极大;AC-B2=0......
  • 【JavaSE】--数组的定义与使用
    文章目录1.数组的基本概念1.1什么是数组1.2数组的创建及初始化1.2.1数组的创建1.2.2数组的初始化1.3数组的使用1.3.1数组中元素访问1.3.2遍历数组2.数组是引用类型2.1初识JVM的内存分布2.2基本类型变量与引用类型变量的区别2.3再谈引用变量2.4认识null3......
  • 20240918:DP选做
    本文为@A_zjzj《dp专题》学习笔记。转移性质Lanterns题意:\(n\)个灯笼拍成一排,第\(i\)个灯笼具有\(p_i\)的亮度。每个灯笼要么朝向左照亮\([i-p_i,i-1]\),要么朝向右照亮\([i+1,i+p_i]\)。寻找一种方案,为所有的灯笼定向,使得每一个灯笼被至少一个其他灯笼照......