| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
共有 246 人关注过本帖
标题:最大连续子序列和
只看楼主 加入收藏
zsy142857
Rank: 1
来 自:上海
等 级:等待验证会员
帖 子:16
专家分:0
注 册:2017-6-3
结帖率:50%
  已结贴   问题点数:20  回复次数:3   
最大连续子序列和
#include<iostream>
#include<algorithm>
#define N 100005
using namespace std;
int n,x[N],f[N];
int main(){
    cin>>n;
    for(int i=0;i<n;i++) cin>>x[i];
    f[0]=x[0];
    for(int i=1;i<n;i++){
        if(f[i-1]>0){
            f[i]=f[i-1]+x[i];
            //这里写代码   
        }
        f[i]=x[i];
    }
    cout<<*max_element(f,f+n)<<endl;
    return 0;
}
如何截取最大连续子序列和的第一项和最后一项?
2018-04-01 16:11
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:273
帖 子:6001
专家分:34312
注 册:2011-1-18
  得分:20 
我还是重写一个吧
程序代码:
#include <iostream>
using namespace std;

int main( void )
{
    int sum_max = 0;
    int sum = 0;

    size_t n;
    cin >> n;
    for( size_t i=0; i!=n; ++i )
    {
        int v;
        cin >> v;
        sum += v;

        if( sum < 0 )
            sum = 0;
        else
            sum_max = sum>sum_max ? sum : sum_max;
    }

    cout << sum_max << endl;
}

2018-04-02 08:45
zsy142857
Rank: 1
来 自:上海
等 级:等待验证会员
帖 子:16
专家分:0
注 册:2017-6-3
  得分:0 
这个程序的结果好像和我的程序结果一样啊
2018-04-06 11:08
zsy142857
Rank: 1
来 自:上海
等 级:等待验证会员
帖 子:16
专家分:0
注 册:2017-6-3
  得分:0 
子序列最后一项已搞定,就是第一项不知道怎么求
2018-04-06 11:10







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032620 second(s), 8 queries.
Copyright©2004-2018, BCCN.NET, All Rights Reserved