• 9.1练习题4 最长连号 题解


    题目出处:洛谷 P1420

    题目描述

    输入n个正整数,(1<=n<=10000),要求输出最长的连号的长度。(连号指从小到大连续自然数)

    输入格式

    第一行,一个数n;
    第二行,n个正整数,之间用空格隔开。

    输出格式

    一个数,最长连号的个数。

    样例输入

    10
    3 5 6 2 3 4 5 6 8 9
    

    样例输出

    5
    

    题目分析

    开一个变量 (ans) 用于记录最大连号数,开一个变量 (cnt) 用于记录当前连号数。
    首先我们赋初值 (cnt = 1) ,然后我们从数组的第二个元素开始遍历每一个 (a[i]) ,如果 (a[i] = a[i-1]+1) ,则 (cnt = cnt + 1; ans = max(ans, cnt)) ;否则 (cnt = 1)
    这样,循环结束的时候的 (ans) 就是我们的答案。
    实现代码如下:

    #include <bits/stdc++.h>
    using namespace std;
    const int maxn = 10010;
    int n, a[maxn], cnt = 1, ans = 1;
    int main() {
        cin >> n;
        for (int i = 0; i < n; i ++) cin >> a[i];
        for (int i = 1; i < n; i ++) {
            if (a[i] == a[i-1] + 1) {
                cnt ++;
                if (cnt > ans) ans = cnt;
            }
            else
                cnt = 1;
        }
        cout << ans << endl;
        return 0;
    }
    
  • 相关阅读:
    Proxies
    内置的Symbol值
    css兼容问题大全
    Jquery ajax方法详解
    Ajax笔记
    Jquery笔记
    Css3笔记
    JavaScript学习笔记
    10 款优秀的文件管理插件推荐
    初始化和预装载servlet与JSP页面
  • 原文地址:https://www.cnblogs.com/zifeiynoip/p/11482994.html
Copyright © 2020-2023  润新知