• HDU-1003-Max Sum


    题目链接

    题目大意就不讲了,看测试数据就可以看出来,

    这里主要是超时问题,对于超时问题我们可以减少循环,减枝,.......这里利用的是减少循环,

    我开始直接两个循环,超时。

    不用说两个循环只能说明你没思考,对于这题只要一个循环就可以了。

    直接看代码。

    AC代码

    #include<stdio.h>

    int a[100005];

    int main(void)
    {
    int t,n,i,j,k,k1,k2;
    int s,max;
    scanf("%d",&t);
    int h=1;
    while(t--)
    {
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
    scanf("%d",a+i);
    }
    k=1;
    max=-999999999;
    s=0;
    for(i=1;i<=n;i++)
    {
    s=s+a[i];
    if(s>max)
    {
    max=s;
    k1=k;
    k2=i;
    }
    if(s<0)
    {
    k=i+1;
    s=0;
    }
    }
    printf("Case %d: ",h++);
    printf("%d %d %d ",max,k1,k2);
    if(t)
    printf(" ");
    }
    return 0;
    }

    超时代吗

    #include<stdio.h>

     
    int main(void)
    {
        int t,a[100005],n,i,j,k1,k2,s,s1,h;
        scanf("%d",&t);
        h=t;
        while(t--)
        {
            scanf("%d",&n);
            for(i=0;i<n;i++)
            scanf("%d",&a[i]);
            s=-99999;
            k1=0;
            k2=0;
            for(i=0;i<n;i++)
            {
                s1=0;
                for(j=i;j<n;j++)
                {
                    s1=s1+a[j];
                    if(s1>s)
                    {
                        k1=j;
                        k2=i;
                        s=s1;
                    }
                }
            }
            printf("Case %d: ",h-t);
            printf("%d %d %d ",s,k2+1,k1+1);
        }
        return 0;
    }
  • 相关阅读:
    io工具类
    并发高级知识
    HashMap相关源码阅读
    ArrayList和LinkedList部分源码分析性能差异
    我自己的JdbcTemplate
    mysql5.7.20靠谱安装步骤
    NG 转发配置
    SQLite总结
    算是不常用的东西,java中的ResultSet转List
    不常用的技能-【手动编译java类】
  • 原文地址:https://www.cnblogs.com/liudehao/p/3988468.html
Copyright © 2020-2023  润新知