leetcode 918
简介
环形数组的最大子数组的和的最大值.
思路
分两种情况讨论, 一种是最大子数组就是普通值, 那么只要求出正常值就可以了.
另一种情况是除去全局最小的中间一段, 然后就是最大值.
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的更多相关文章
- [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 ...
 - leetcode 611. Valid Triangle Number 、259. 3Sum Smaller(lintcode 918. 3Sum Smaller)
		
这两个题几乎一样,只是说611. Valid Triangle Number满足大于条件,259. 3Sum Smaller满足小于条件,两者都是先排序,然后用双指针的方式. 611. Valid T ...
 - Swift LeetCode 目录 | Catalog
		
请点击页面左上角 -> Fork me on Github 或直接访问本项目Github地址:LeetCode Solution by Swift 说明:题目中含有$符号则为付费题目. 如 ...
 - LeetCode刷题总结-数组篇(上)
		
数组是算法中最常用的一种数据结构,也是面试中最常考的考点.在LeetCode题库中,标记为数组类型的习题到目前为止,已累计到了202题.然而,这202道习题并不是每道题只标记为数组一个考点,大部分习题 ...
 - All LeetCode Questions List 题目汇总
		
All LeetCode Questions List(Part of Answers, still updating) 题目汇总及部分答案(持续更新中) Leetcode problems clas ...
 - LeetCode Top 100 Liked 点赞最高的 100 道算法题
		
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 公众号:负雪明烛 本文关键词:刷题顺序,刷题路径,好题,top100,怎么刷题,Leet ...
 - 我为什么要写LeetCode的博客?
		
# 增强学习成果 有一个研究成果,在学习中传授他人知识和讨论是最高效的做法,而看书则是最低效的做法(具体研究成果没找到地址).我写LeetCode博客主要目的是增强学习成果.当然,我也想出名,然而不知 ...
 - LeetCode All in One 题目讲解汇总(持续更新中...)
		
终于将LeetCode的免费题刷完了,真是漫长的第一遍啊,估计很多题都忘的差不多了,这次开个题目汇总贴,并附上每道题目的解题连接,方便之后查阅吧~ 477 Total Hamming Distance ...
 - [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 ...
 - 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 ...
 
随机推荐
- 刷题——关于struts框架,下面那些说法是正确的?
			
关于struts框架,下面那些说法是正确的? Struts中无法完成上传功能 Struts框架基于MVC模式 Struts框架容易引起流程复杂.结构不清晰等问题 Struts可以有效地降低项目的类文件 ...
 - 康谋方案 | BEV感知技术:多相机数据采集与高精度时间同步方案
			
随着自动驾驶技术的快速发展,车辆准确感知周围环境的能力变得至关重要.BEV(Bird's-Eye-View,鸟瞰图)感知技术,以其独特的视角和强大的数据处理能力,正成为自动驾驶领域的一大研究热点. 一 ...
 - linux文件或目录权限、权限字符转为权限值
			
1.字符的含义 当ll一个目录时会有类似下面的输出 [root@node2 ~]# ll /usr/ total 112 dr-xr-xr-x. 2 root root 24576 Oct 13 23 ...
 - Python3多线程
			
一.进程和线程 进程:是程序的一次执行,每个进程都有自己的地址空间.内存.数据栈及其他记录运行轨迹的辅助数据. 线程:所有的线程都运行在同一个进程当中,共享相同的运行环境.线程有开始.顺序执行和结束三 ...
 - 腾讯出品!这款Markdown神器让你码字效率翻倍,双模式编辑太香了!
			
嗨,大家好,我是小华同学,关注我们获得"最新.最全.最优质"开源项目和高效工作学习方法 由腾讯开源的CherryMarkdown编辑器,集思维导图式大纲写作与专业分屏模式于一身,支 ...
 - Java--通过jdbc访问mysql数据库(mysql v8.0.11)
			
由于mysql的更新,原来的连接数据库方法改变了 参考:http://www.cnblogs.com/rainbow70626/p/9005852.html package demo; import ...
 - maven setting.xml文件配置
			
官网文档:http://maven.apache.org/ref/3.2.5/maven-settings/settings.html 下面是我个人的配置 <?xml version=" ...
 - Grid 布局-子项补充及常用布局
			
上篇我们介绍了 Grid 布局容器项的内容, 看上去属性很多, 其实并没有, 记住关键的概念和简写就行啦. 因为是二维的, 这个属性的数量就比 flex 要多很多哦, 但其实真正也没有常用那没多啦. ...
 - SQL 强化练习(三)
			
继续来练习 sql 查询, 似乎也没有什么窍门, 跟着写多了, 自然就记住了, 这个帖子, 来记录一波, 模糊查询 like; 四表关联查询: 老师名 -> 老师id -> 课程id -. ...
 - 网络编程:反应堆_I/O模型和多线程模型实现
			
多线程设计的几个考虑 在反应堆reactor框架设计中,main reactor线程是一个acceptor线程,这个线程一旦创建,会以event_loop形式阻塞在event_dispatcher的d ...