LC 918. Maximum Sum Circular Subarray
Given a circular array C of integers represented by A, find the maximum possible sum of a non-empty subarray of C.
Here, a circular array means the end of the array connects to the beginning of the array.  (Formally, C[i] = A[i] when 0 <= i < A.length, and C[i+A.length] = C[i] when i >= 0.)
Also, a subarray may only include each element of the fixed buffer A at most once.  (Formally, for a subarray C[i], C[i+1], ..., C[j], there does not exist i <= k1, k2 <= j with k1 % A.length = k2 % A.length.)
Example 1:
Input: [1,-2,3,-2]
Output: 3
Explanation: Subarray [3] has maximum sum 3
Example 2:
Input: [5,-3,5]
Output: 10
Explanation: Subarray [5,5] has maximum sum 5 + 5 = 10
Example 3:
Input: [3,-1,2,-1]
Output: 4
Explanation: Subarray [2,-1,3] has maximum sum 2 + (-1) + 3 = 4
Example 4:
Input: [3,-2,2,-3]
Output: 3
Explanation: Subarray [3] and [3,-2,2] both have maximum sum 3
Example 5:
Input: [-2,-3,-1]
Output: -1
Explanation: Subarray [-1] has maximum sum -1
Note:
- -30000 <= A[i] <= 30000
- 1 <= A.length <= 30000
class Solution {
public:
  int maxSubarraySumCircular(vector<int>& A) {
    int total = ;
    int curmax = , maxsum = INT32_MIN;
    int curmin = , minsum = INT32_MAX;
    for(int a : A) {
      curmax = max(curmax + a, a);
      maxsum = max(maxsum, curmax);
      curmin = min(curmin + a, a);
      minsum = min(minsum, curmin);
      total += a;
    }
    return maxsum >  ? max(maxsum, total - minsum) : maxsum;
  }
};
LC 918. Maximum Sum Circular Subarray的更多相关文章
- [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 ... 
- 918. Maximum Sum Circular Subarray
		Given a circular array C of integers represented by A, find the maximum possible sum of a non-empty ... 
- [Swift]LeetCode918. 环形子数组的最大和 | Maximum Sum Circular Subarray
		Given a circular array C of integers represented by A, find the maximum possible sum of a non-empty ... 
- Maximum Sum Circular Subarray LT918
		Given a circular array C of integers represented by A, find the maximum possible sum of a non-empty ... 
- Leetcode Week5 Maximum Sum Circular Subarray
		Question Given a circular array C of integers represented by A, find the maximum possible sum of a n ... 
- 动态规划-Maximum Subarray-Maximum Sum Circular Subarray
		2020-02-18 20:57:58 一.Maximum Subarray 经典的动态规划问题. 问题描述: 问题求解: public int maxSubArray(int[] nums) { i ... 
- 689. Maximum Sum of 3 Non-Overlapping Subarrays三个不重合数组的求和最大值
		[抄题]: In a given array nums of positive integers, find three non-overlapping subarrays with maximum ... 
- [LeetCode] Maximum Sum of 3 Non-Overlapping Subarrays 三个非重叠子数组的最大和
		In a given array nums of positive integers, find three non-overlapping subarrays with maximum sum. E ... 
- [Swift]LeetCode689. 三个无重叠子数组的最大和 | Maximum Sum of 3 Non-Overlapping Subarrays
		In a given array nums of positive integers, find three non-overlapping subarrays with maximum sum. E ... 
随机推荐
- git 添加码云远程仓库和上传到码云的命令
			添加远程仓库 git remote add Zk 仓库地址.git 查看远程仓库 git remote -v 上传远程仓库 git push Zk master 删除远程仓库Zkgit remot ... 
- wxpython中设置radiobox相关使用
			#coding=utf-8 import wx class MyFrame(wx.Frame): def __init__(self): wx.Frame.__init__(self,None,-1, ... 
- Spring中的资源文件框架——Resource
			摘要 Spring4 以后,官方推荐我们使用Java Config来代替applicationContext.xml,声明将Bean交给容器管理. 在Spring Boot中,Java Config的 ... 
- zookeeper入门(1)---基本概念
			转载 : https://blog.csdn.net/java_66666/article/details/81015302 一. zookeeper概念 它是一个分布式服务框架,是Apache Ha ... 
- python3 jieba分词
			一.jieba库用于分词,https://github.com/fxsjy/jieba 二.分词:分词精细:全局(文本分析)<精确(快速成词)<搜素(搜素引擎分词) #分词 str=r'今 ... 
- Docker那些事儿之编排工具docker-compose
			前面已经讲解过docker的一些基础使用,镜像创建的操作过程,如果大量容器需要同时部署,一个一个容器进行服务器上的部署,估计要疯掉,在使用上我们需要找到更好更便捷的使用方式,今天要讲解的容器编排工具d ... 
- P2P system:How Chord tackles failures
			若有peer failures 怎么办 接上面的例子,如果N32 fail掉了,但是N80的finger table还没有更新,这样query到了N16,它找不到N32,只有N80,这样query就会 ... 
- 修改git提交的用户名和密码
			目的:每个项目自定义Git提交的用户名和邮箱 1.在本地找到某个项目所在的地址 2.找到config文件 3.增加如下配置 4. ok,这样每个项目都可以定义提交者姓名和邮箱了 
- 生成器调试---send方式
			调试 def creat_num(all_num): a, b = 0, 1 current_num = 0 while current_num < all_num: ret = yield a ... 
- theme-sodareload   sublime编辑器主题插件还不错,不是语法高亮
			theme-sodareload sublime编辑器主题还不错,不是语法高亮 
