Data Structure Array: Maximum circular subarray sum
2024-10-21 04:04:35
http://www.geeksforgeeks.org/maximum-contiguous-circular-sum/
#include <iostream>
#include <vector>
#include <algorithm>
#include <queue>
#include <stack>
#include <string>
#include <fstream>
#include <map>
using namespace std; bool allneg(int arr[], int n) {
for (int i = ; i < n; i++) {
if (arr[i] > ) return false;
}
return true;
} int maxsum(int arr[], int n) {
int tmp = ;
int ans = INT_MIN;
for (int i = ; i < n; i++) {
tmp += arr[i];
ans = max(ans, tmp);
tmp = max(tmp, );
}
return ans;
} int maxcircular(int arr[], int n) {
int ans = maxsum(arr, n);
if (allneg(arr, n)) return ans;
int sum = ;
for (int i = ; i < n; i++) {
sum += arr[i];
arr[i] = -arr[i];
}
return max(ans, sum + maxsum(arr, n));
} int main() {
int arr[] = {, , -, , -, -, , -, };
cout << maxcircular(arr, ) << endl;
return ;
}
最新文章
- 结合Apache和Tomcat实现集群和负载均衡 JK 方式 2 (转)
- ngx.lua中遇到的小问题2
- Android开发实战(二十一):浅谈android:clipChildren属性
- AtomicInteger简介
- mysql自增字段重排 或 归零
- nrf51822裸机教程-SPI(主)
- Java学习-002-Java初识
- linux设备驱动归纳总结(三):6.poll和sellct【转】
- MongoDB开发应用实战
- android 程序打开第三方程序
- css选择器优化
- <; IOS >; IOS适配,简单的分析解决一下
- JS - 全屏滚动
- shell的定义
- Junit单元测试对线程测试没反应
- Vue 实际项目中你可能会遇见的坑
- Hibernate学习总汇
- [转帖]Linux分页机制之概述--Linux内存管理(六)
- bzoj1212(trie+dp)
- [转载]Lua和C++交互详细总结