浙大数据结构:01-复杂度1 最大子列和题目

[复制链接]
发表于 2026-1-26 04:19:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
数据结构MOOC
PTA习题

01-复杂度1 最大子列和题目

使用在线处理处罚,遍历数组,假如当前数组和小于0则扬弃,每次更新最大值。
我们假设终极效果为数组中央的一段,那么左边剩余的部分和右边剩余的部分和肯定小于0,对答案没有贡献。
  1. #include <iostream>
  2. using namespace std;
  3. const int M=100005;
  4. int a[M];
  5. int main()
  6. {
  7.     int k;
  8.     cin>>k;
  9.     for(int i=0;i<k;i++ )cin>>a[i];
  10.     int s=0,ma=0;
  11.     for(int i=0;i<k;i++)
  12.     {
  13.         s+=a[i];
  14.         ma=max(s,ma);
  15.         if(s<0)
  16.         {
  17.             s=0;
  18.         }
  19. }
  20.     cout<<ma;
  21.    
  22.         return 0;
  23.        
  24. }
复制代码

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表