P1115 最大子段和


你不在的时候我都是一个人

题目链接:P1115 最大子段和 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

解题思路:

有点动态规划的思想,判断当前序列加上当前的值是否大于当前值,如果小于,那么当前序列更新为当前值,否则为加上该值后的序列,再用一个变量来存最大字段和,比较每次的序列和ans,返回大的值,注意要把初始值设置为最小,避免数组全为负数,讲的可能有点抽象,具体看代码

下面是c++代码:

cpp 复制代码
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
    int n, ans = -10e9;
    cin >> n;
    int* arr = new int[n];
    int* brr = new int[n];
    for (int i = 0; i < n; i++) {
        cin >> arr[i];
    }
    for (int i = 0; i < n; i++) {
        if (i == 0) {
            brr[i] = arr[i];//第一项为单独序列
        }
        else {
            brr[i] = max(brr[i - 1] + arr[i], arr[i]);//比较当前序列加上当前值和当前值的大小,返回大的值
        }
        ans = max(brr[i], ans);//存放最大连续子段和
    }
    cout << ans;
    return 0;
}
相关推荐
做怪小疯子2 小时前
LeetCode 热题 100——矩阵——旋转图像
算法·leetcode·矩阵
努力学习的小廉2 小时前
我爱学算法之—— BFS之最短路径问题
算法·宽度优先
高山上有一只小老虎2 小时前
构造A+B
java·算法
木头左2 小时前
缺失值插补策略比较线性回归vs.相邻填充在LSTM输入层的性能差异分析
算法·线性回归·lstm
sin_hielo3 小时前
leetcode 2435
数据结构·算法·leetcode
crescent_悦3 小时前
PTA L1-020 帅到没朋友 C++
数据结构·c++·算法
鳄鱼儿4 小时前
密码算法的OID查阅
算法
lxh01134 小时前
螺旋数组题解
前端·算法·js
czlczl200209255 小时前
算法:二叉树的公共祖先
算法
小白程序员成长日记6 小时前
2025.11.23 力扣每日一题
算法·leetcode·职场和发展