• 气球游戏算法题


     

    腾讯面试算法题

    前段时间接触了一下腾讯,由于疫情期间第一轮进行的是远程线上面试,上来一道算法题,当时没理解题目,解答错误,直接被PASS了。过一段时间回忆了一下题目,重新理解并解答,题目如下:

    小Q在进行射击气球的游戏,如果小Q在连续T枪中打爆了所有颜色的气球,将得到一只QQ公仔作为奖励。(每种颜色的球至少被打爆一只)。

    这个游戏中有m种不同颜色的气球,编号1到m。

    小Q一共有n发子弹,然后连续开了n枪。

    小Q想知道在这n枪中,打爆所有颜色的气球最少用了连续几枪?

    输入格式

    第一行包含两个整数nm

    第二行包含n个整数,分别表示每一枪打中的气球的颜色,0表示没打中任何颜色的气球。

    输出格式

    一个整数表示小Q打爆所有颜色气球用的最少枪数。

    如果小Q无法在这n枪打爆所有颜色的气球,则输出-1

    数据范围

    1≤n≤1000000
    1≤m≤2000

    输入样例:

    12 5
    2 5 3 1 3 2 4 1 0 5 4 3
    

    输出样例:

    6
    

    样例解释

    有五种颜色的气球,编号15

    游客从第二枪开始直到第七枪,这连续六枪打爆了5 3 1 3 2 4这几种颜色的气球,包含了从15的所有颜色,所以最少枪数为6

  • 相关阅读:
    OFBiz中services调用机制
    OFBiz中JOB的运行机制
    ofbiz中运行配置及流程
    ofbiz框架学习
    在java学习中的思考
    在更新操作中所需要注意的事项
    级联删除
    关于整合hibernate4和spring3的相关注意事项
    常见系统中文字体的英文名
    flash Socket 连接 以及 跨域策略文件crossdomain.xml配置详解
  • 原文地址:https://www.cnblogs.com/pluse/p/13524923.html
Copyright © 2020-2023  润新知