C语言最大子段和问题(动态规划)

 问题简述

 给出一段序列,选出其中连续且非空的一段使得这段和最大。

 代码

#include <stdio.h>
#include <iostream>
#include <string.h>
#include <cmath>
using namespace std;
  int s[10000055];
int main(){
  int ans=0,b=0,maxn=0;
  int n;
  scanf("%d",&n);
  for(int i=1;i<=n;i++)
  {
    scanf("%d",&s[i]);
    if(i==1)
    {
      maxn=s[i];
    }
    if(ans>0)
    {
      ans+=s[i];
    }
    else
    {
      ans=s[i];
    }
    maxn=max(ans,maxn);
  }
  cout<<maxn;
}
    原文作者:动态规划
    原文地址: https://blog.csdn.net/little_hamster/article/details/53161613
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞