码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 倒计数(来源:Google Kickstart2020 Round C Problem A)(DAY 88)


    文章目录

    • 1:题目
    • 2:代码实现

    1:题目

    艾弗里有一个由 N 个正整数构成的数组。

    数组中的第 i 个整数是 Ai。

    如果一个连续的子数组的长度为 m,并且按顺序包含整数 m,m−1,m−2,…,2,1,则称它为 m 倒计数。

    例如,[3,2,1] 是 3 倒计数。

    请帮助艾弗里计算她的数组中有多少个 K 倒计数。

    输入格式
    第一行包含整数 T,表示共有 T 组测试数据。

    对于每组数据,第一行包含两个整数 N 和 K。

    第二行包含 N 个整数,其中第 i 个表示 Ai。

    输出格式
    每组数据输出一个结果,每个结果占一行。

    结果表示为 Case #x: y,其中 x 为组别编号(从 1 开始),y 为 K 倒计数的数量。

    数据范围
    1≤T≤100,
    2≤K≤N,
    1≤Ai≤2×105,
    2≤N≤2×105
    输入样例:
    3
    12 3
    1 2 3 7 9 3 2 1 8 3 2 1
    4 2
    101 100 99 98
    9 6
    100 7 6 5 4 3 2 1 100
    输出样例:
    Case #1: 2
    Case #2: 0
    Case #3: 1
    样例解释
    在示例 1 中,有两个 3 倒计数,如下:

    1 2 3 7 9 3 2 1 8 3 2 1
    1 2 3 7 9 3 2 1 8 3 2 1
    在示例 2 中,没有 2 倒计数。

    在示例 3 中,有一个 6 倒计数,如下:

    100 7 6 5 4 3 2 1 100
    难度:简单
    时/空限制:1s / 64MB
    总通过数:845
    总尝试数:1911
    来源:Google Kickstart2020 Round C Problem A
    算法标签

    2:代码实现

    #include 
    #include 
    #include 
    
    using namespace std;
    
    const int N = 200010;
    
    int n, m;
    int q[N];
    
    int main()
    {
        int T;
        scanf("%d", &T);
        for (int cases = 1; cases <= T; cases ++ )
        {
            scanf("%d%d", &n, &m);
            for (int i = 1; i <= n; i ++ ) scanf("%d", &q[i]);
            int res = 0;
    
            for (int i = n; i; i -- )
            {
                if (q[i] != 1) continue;
                int j = i - 1;
                while (j && q[j] == q[j + 1] + 1) j -- ;
                if (i - j >= m) res ++ ;
                i = j + 1;
            }
            printf("Case #%d: %d\n", cases, res);
        }
    
        return 0;
    }
    
     
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
  • 相关阅读:
    详解机器学习高维数据降维方法
    PyCharm集成开发环境安装、启动与设置
    git rm工作区文件删除后撤销
    [论文阅读] Curriculum Semi-supervised Segmentation
    《web课程设计》 基于HTML+CSS+JavaScript实现中国水墨风的小学学校网站模板(6个网页)
    (一) 使用 Hugo 搭建个人博客保姆级教程(下篇)
    近似串匹配问题(动态规划)
    # 消息中间件 RocketMQ 高级功能和源码分析(九)
    “分布式锁”,一直以来你的选择依据正确吗?
    “年薪 25 万只是白菜价”已成过去式,AI 岗位年薪下降 8.9%,最新薪酬报告发布
  • 原文地址:https://blog.csdn.net/Watremelon/article/details/126026628
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号