CSP-S 题库最大子段和程序完善题

补全以下 Kadane 算法(最大子段和)的核心代码:

程序完善题 第 51 题 · CSP-S 提高级 初赛题库
int best=0, cur=0;
for(int i=1;i<=n;i++){
    cur=max(__, cur+a[i]);   // 延续当前段,或以 a[i] 重新开始
    best=max(best, __);
}
  • 第 1 空应填什么?
    答案:a[i](即 max(a[i], cur+a[i]))
    解析:要么把 a[i] 接在当前段后,要么以 a[i] 作为新段的起点。
  • 第 2 空应填什么?
    答案:cur
    解析:用当前段和 cur 更新历史最大值 best。

本题收录于「CSP-S 提高级 初赛题库」,共 51 道题,全部提供答案与解析。可进入在线练习系统按知识点随机组卷、自动批改并归集错题。

进入在线练习 查看完整试卷 本类全部题目