15| 最大子段和

一、核心思路

利用前缀和进行预处理,再遍历前缀和数组,计算每个位置的最大子段和并动态更新。

二、代码实现

cpp 复制代码
typedef long long LL;
const int N = 2e5 + 10;
LL st[N], n;

int main()
{
	cin >> n;
	LL premin = 0; 
	LL ret = -1e10;
	for (int i = 1; i <= n; i++)
	{
		int x; cin >> x;
		st[i] = st[i-1] + x;
	}
	for (int i = 1; i <= n; i++)
	{
		ret = max(ret, st[i] - premin);
		premin = min(premin, st[i]);
	}
	cout << ret << endl;
	return 0;
 } 
相关推荐
To_OC10 小时前
LC 131 分割回文串:刚学回溯时,我连怎么切字符串都想不明白
javascript·算法·leetcode
炸膛坦客11 小时前
单片机/C/C++八股:(二十六)IIC 专题(I²C)---- 上集
c语言·c++·单片机
旖-旎11 小时前
LeetCode 518:零钱兑换||(完全背包)—— 题解
c++·算法·leetcode·动态规划·背包问题
To_OC12 小时前
LC 42 接雨水:暴力超时卡半天?前后缀数组一用就通了
javascript·算法·leetcode
Henry Zhu12312 小时前
C++中的特殊成员函数与智能指针
c++
世人万千丶12 小时前
参数管理_Flutter在鸿蒙平台路由参数最佳实践
学习·flutter·华为·harmonyos·鸿蒙
delishcomcn13 小时前
AI视觉识别+分切算法:电化铝缺陷检测与裁切一体化解锁
人工智能·算法
触底反弹13 小时前
深入理解大模型采样:Temperature、Top-K、Top-P 的原理与实战
人工智能·算法·面试
雪碧聊技术13 小时前
力扣 LCR 091. 粉刷房子 —— 动态规划入门详解
算法·动态规划