题解 | #连续子数组的最大乘积#

乘积为正数的最长连续子数组

http://www.nowcoder.com/practice/0112b9b5a09048d89309f55ea666db91

#include<stdio.h>
#include<string.h>
/*借鉴别人的代码,理解*/
int max(int a,int b)
{
    return a>b?a:b;
}
int main()
{
    int n;
    while(scanf("%d",&n)!=EOF)
    {
        int ret[100001];
        int count=0;
        int sum=0;
        int mincnt=0;
        int maxcnt=0;
        for(int i=1;i<=n;i++)
        {
            scanf("%d ",&ret[i]);
        }
        for(int i=1;i<=n;i++)
        {
            if(ret[i]>0)
            {
                maxcnt++;
                if(mincnt>0)
                {
                    mincnt++;
                }
            }
            else if(ret[i]<0)
            {
                int tmp=mincnt;
                mincnt=maxcnt+1;
                if(tmp>0)
                {
                    maxcnt=tmp+1;
                }
                else
                {
                    maxcnt=0;
                }
            }
            else
            {
                mincnt=0;
                maxcnt=0;
            }
            count=max(count,maxcnt);
        }
        printf("%d",count);
    }
    return 0;
}
全部评论

相关推荐

06-26 15:33
青岛工学院 Java
积极的秋田犬要冲国企:他现在邀请我明天面试
点赞 评论 收藏
分享
06-12 16:00
天津大学 Java
牛客30236098...:腾讯坏事做尽,终面挂是最破防的 上次被挂了后我连简历都不刷了
点赞 评论 收藏
分享
07-14 12:29
门头沟学院 Java
后端岗,实习三周感觉有点想跑路了,担心秋招被拉黑,有没有佬是字节HR知道情况的
从零开始的转码生活:你实习三周都想跑路,将来拿到offer真的愿意在这干十几二十年吗
投递字节跳动等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务