• luogu最长连号


    https://www.luogu.org/problemnew/show/P1420

    100分做法~(≧▽≦)/~啦啦啦

    #include<iostream>
    #include<cstdio>
    
    using namespace std;
    
    int a[10001],k,l,n;
    int main()
    {
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
        {
            scanf("%d",&a[i]);
        }
        for(int i=1;i<=n;i++)
        {
            if(a[i]==a[i+1]-1)
            {
                k++;
            }
            else k=0;
            if(k>l)
            {
                l=k;
            }
        }
        printf("%d",l+1);
    }

    题解上还有一个递归的做法非常好^_^

    #include<iostream>
    #include<cstdio>
    
    using namespace std;
    
    int a[10001];
    int dg(int x)
    {
        if(a[x]==a[x+1]-1)
        return 1+dg(x+1);
        else return 1;
    }
    int main()
    {
        int n,k=0,l;
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
        {
            scanf("%d",&a[i]);
        }
        for(int i=1;i<=n-1;i++)
        {
            if(dg(i)>k)
            {
                k=dg(i);
            }
        }
        printf("%d",k);
        return 0;
    }

    可以用这个题体会一下递归。。。。。我觉得海星

    一开始就想到要用计数器,可是没用好。。。。。~~~~(>_<)~~~~

    我一直没弄明白怎么处理不连续的连号。。。

    于是我看了题解(^o^)/~

    用l保存,始终保存当前遇到的最长连号,如果遇到新的最长连号就更新。

    如果中间有中断的连号就将k清零。但在l中已经保留当前最长连号,最后输出l

    还有一个我本来以为数据很水,可以骗分的0分做法( ⊙ o ⊙ )啊!

    #include<iostream>
    #include<cstdio>
    
    using namespace std;
    
    int a[1001];
    int main()
    {
        int n,k=0;
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
        scanf("%d",&a[i]);
        for(int i=1;i<=n;i++)
        {
            if(a[i]==a[i+1]-1)
            k++;
        }
        printf("%d",k+1);
        return 0;
    }

    加油啊↖(^ω^)↗

    QwQ

    Everything will ok!

    “为什么圆规能画出圆?” “因为心不变,脚在动。”
  • 相关阅读:
    捕获异常的两种方式Exception
    线程的随机性
    单例模式简单解析--Singleton 单例模式(懒汉方式和饿汉方式)
    LeetCode 116. 填充每个节点的下一个右侧节点指针
    LeetCode 129. 求根到叶子节点数字之和
    LeetCode 124. 二叉树中的最大路径和
    LeetCode 119. 杨辉三角 II
    LeetCode 118. 杨辉三角
    LeetCode 113. 路径总和 II
    LeetCode 114. 二叉树展开为链表
  • 原文地址:https://www.cnblogs.com/xrj1229/p/9209304.html
Copyright © 2020-2023  润新知