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;
}
相关推荐
灵感__idea3 小时前
Hello 算法:“走一步看一步”的智慧
前端·javascript·算法
lwf0061644 小时前
导数学习日记
学习·算法·机器学习
头发够用的程序员5 小时前
从滑动窗口到矩阵运算:img2col算法基本原理
人工智能·算法·yolo·性能优化·矩阵·边缘计算·jetson
武帝为此6 小时前
【数据清洗缺失值处理】
python·算法·数学建模
Halo_tjn6 小时前
Java 基于字符串相关知识点
java·开发语言·算法
念越7 小时前
算法每日一题 Day08|双指针法解决三数之和
算法·力扣
黎阳之光7 小时前
黎阳之光透明管理:视频孪生重构智慧仓储新范式
人工智能·算法·安全·重构·数字孪生
CappuccinoRose8 小时前
回溯法 - 软考备战(四十三)
算法·排列组合·路径·n皇后·子集·解数独·岛屿
AC赳赳老秦8 小时前
OpenClaw进阶技巧:批量修改文件内容、替换关键词,解放双手
java·linux·人工智能·python·算法·测试用例·openclaw
Robot_Nav8 小时前
Shape-Aware MPPI(SA MPPI)算法:基于RC-ESDF的任意形状机器人实时轨迹优化
算法·机器人·sa-mppi