简介

环形数组的最大子数组的和的最大值.

思路

分两种情况讨论, 一种是最大子数组就是普通值, 那么只要求出正常值就可以了.

另一种情况是除去全局最小的中间一段, 然后就是最大值.

code

class Solution {
public:
int maxSubarraySumCircular(vector<int>& n) {
if(n.size() == 1) return n[0];
int max_cur = n[0] ,
max_glo = n[0], min_cur = n[0], min_glo = n[0];
int sum = n[0];
for(int i=1; i<n.size(); i++) {
max_cur = max(n[i], max_cur + n[i]);
max_glo = max(max_glo, max_cur);
min_cur = min(n[i], n[i] + min_cur);
min_glo = min(min_glo, min_cur);
sum += n[i];
}
if(sum == min_glo){
return max_glo;
}
return max(max_glo, sum - min_glo);
}
};

leetcode 918的更多相关文章

  1. [LeetCode] 918. Maximum Sum Circular Subarray 环形子数组的最大和

    Given a circular array C of integers represented by A, find the maximum possible sum of a non-empty ...

  2. leetcode 611. Valid Triangle Number 、259. 3Sum Smaller(lintcode 918. 3Sum Smaller)

    这两个题几乎一样,只是说611. Valid Triangle Number满足大于条件,259. 3Sum Smaller满足小于条件,两者都是先排序,然后用双指针的方式. 611. Valid T ...

  3. Swift LeetCode 目录 | Catalog

    请点击页面左上角 -> Fork me on Github 或直接访问本项目Github地址:LeetCode Solution by Swift    说明:题目中含有$符号则为付费题目. 如 ...

  4. LeetCode刷题总结-数组篇(上)

    数组是算法中最常用的一种数据结构,也是面试中最常考的考点.在LeetCode题库中,标记为数组类型的习题到目前为止,已累计到了202题.然而,这202道习题并不是每道题只标记为数组一个考点,大部分习题 ...

  5. All LeetCode Questions List 题目汇总

    All LeetCode Questions List(Part of Answers, still updating) 题目汇总及部分答案(持续更新中) Leetcode problems clas ...

  6. LeetCode Top 100 Liked 点赞最高的 100 道算法题

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 公众号:负雪明烛 本文关键词:刷题顺序,刷题路径,好题,top100,怎么刷题,Leet ...

  7. 我为什么要写LeetCode的博客?

    # 增强学习成果 有一个研究成果,在学习中传授他人知识和讨论是最高效的做法,而看书则是最低效的做法(具体研究成果没找到地址).我写LeetCode博客主要目的是增强学习成果.当然,我也想出名,然而不知 ...

  8. LeetCode All in One 题目讲解汇总(持续更新中...)

    终于将LeetCode的免费题刷完了,真是漫长的第一遍啊,估计很多题都忘的差不多了,这次开个题目汇总贴,并附上每道题目的解题连接,方便之后查阅吧~ 477 Total Hamming Distance ...

  9. [LeetCode] Longest Substring with At Least K Repeating Characters 至少有K个重复字符的最长子字符串

    Find the length of the longest substring T of a given string (consists of lowercase letters only) su ...

  10. Leetcode 笔记 113 - Path Sum II

    题目链接:Path Sum II | LeetCode OJ Given a binary tree and a sum, find all root-to-leaf paths where each ...

随机推荐

  1. RocketMQ消息是如何存储的

    RocketMQ的消息存储是一个复杂而高效的过程,设计上充分考虑了性能和扩展性, 消息存储的主要组件包括CommitLog文件.消费队列文件(ConsumerQueue).以及索引文件(IndexFi ...

  2. Cursor入门教程-JetBrains过度向

    Cursor使用笔记 前置:之前博主使用的是JetBrains的IDE,VSCode使用比较少,所以会尽量朝着JetBrains的使用习惯及样式去调整. 一.设置语言为中文 如果刚上手Cursor,那 ...

  3. 如何使用Streamlit快速创建仪表盘?

    上文有快速带大家了解streamlit,因为工作需要,这两天尝试构建了仪表盘,也就是咱们常说的Dashboard,本篇文章将教你如何使用 Streamlit 快速创建一个简单的仪表盘. 前言 Stre ...

  4. 2024dsfzB层考试总结

    2024B层次十一集训 10.3日 数据结构专题模拟 考试总结 FrankWKD Updated AT 2024/10/3 13:21 概述 总分:\(140/400\) Rank:\(24/87\) ...

  5. liunx git 免密码登录

    vscode远程git或在linux环境使用git时,每次clone都要输入帐号密码,很不方便,可以使用下面一行命令,系统会记录你输入的下一次帐号密码.(明文记录,注意规避风险)   # 执行   g ...

  6. 卷积神经网络CNN 初识

    Network 之前将人工神经网络的 BP算法给详细推导了2遍, 算是对神经网络有了一个初步的认识, 当然, 重点还是算法的推导, 从数学的角度看, 就是多元复合函数求偏导, 应用链式法则 而已, 思 ...

  7. C语言一点五编程实战:纯 C 的模块化×继承×多态框架

    本文将大量涉及C语言高级操作,如函数指针.结构体指针.二级指针.指针频繁引用解引用.typedef.static.inline和C语言项目结构等知识,请确保自己不会被上述知识冲击,如果没有这顾虑,请尽 ...

  8. 应用内存管理:Linux的应用与内存管理

    应用程序想要使用内存,必须得找操作系统申请,那就有必要先了解下Linux内核怎么管理内存的,然后再去分析应用程序的内存管理细节. 硬件架构 现代计算机体系结构被称为Non-Uniform Memory ...

  9. 10年+.NET Coder 心语 ── 单一职责原则的思维:为什么你的代码总在"牵一发而动全身"

    引言 在编程的世界里,面向对象设计(Object-Oriented Design, OOD)就像盖房子时打下的地基,决定了一个系统是否稳固.耐用.而在众多设计原则中,单一职责原则(Single Res ...

  10. 【异常总结】SeaTunnel集群脑裂配置优化方法

    集群配置 项目 描述 数量 3台 规格 阿里云ECS 16C64G Slot模式 静态50个 ST内存配置 -Xms32g -Xmx32g -XX:MaxMetaspaceSize=8g 异常问题 4 ...