首页 > 其他分享 >5.拦截导弹问题

5.拦截导弹问题

时间:2023-08-02 14:36:09浏览次数:29  
标签:拦截导弹 int 高度 系统 导弹 问题 拦截

【题目】

某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统,但是这种拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭,由于该系统还在试用阶段。所以一套系统有可能不能拦截所有的导弹。

输入导弹依次飞来的高度(雷达给出的高度不大于30000的正整数)。计算要拦截所有导弹最小需要配备多少套这种导弹拦截系统。

【输入】

n颗依次飞来的高度(1≤n≤1000)。

【输出】

要拦截所有导弹最小配备的系统数k。

【输入样例】

8

389 207 155 300 299 170 158 65

【输出样例】

2

 

【思路】

遍历每个数,用一个数组来保存一个系统中最后拦截导弹的高度,如果当前遍历的数要大于各个系统拦截的高度的话,那么就新建一个系统,将当前数存入,最后返回数组长度即可。

注意,遍历的数要存入末尾大于这个数的系统中,最小的那个(也就是第一个遇到的)

【代码】

public static int coupons(int[] h){
    //system[]数组表示所有子序列的结尾的最小值
    int[] system = new int[h.length];
    int num=0;
    for (int i = 0; i < n; i++) {
          int k =0;
          while(k<num&&system[k]<h[i]) k++;
          if(k==num) system[num++]=h[i]; //创建一个新的组
          else system[k]=h[i]; //加入原来的组,更新每个组结尾的最小值
        }
        return num;
}

    

 

标签:拦截导弹,int,高度,系统,导弹,问题,拦截
From: https://www.cnblogs.com/End1ess/p/17600574.html

相关文章

  • Ajax跨域问题
    什么是跨域问题?跨域问题来源于JavaScript的"同源策略",即只有协议+主机名+端口号(如存在)相同,则允许相互访问。也就是说JavaScript只能访问和操作自己域下的资源,不能访问和操作其他域下的资源。跨域问题是针对JS和ajax的,html本身没有跨域问题。查看浏览器开发者工具Console报错:Fa......
  • js上传文件到服务器指定文件夹问题
    ​ 一、概述 所谓断点续传,其实只是指下载,也就是要从文件已经下载的地方开始继续下载。在以前版本的HTTP协议是不支持断点的,HTTP/1.1开始就支持了。一般断点下载时才用到Range和Content-Range实体头。HTTP协议本身不支持断点上传,需要自己实现。 二、Range  用于请求头......
  • 【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开
    项目目标本次技术调研和分析报告,主要面向于总体分析和建立对应的MySQL数据库所需要从5.7版本升级到8.0版本后的Java应用服务项目的调整以及功能变动报告分析。MySQL8.0引入一些性能改进,例如新的查询优化器和索引算法。升级后,可以通过重新评估和优化项目中的SQL查询和索引来利用新......
  • csharp上传文件到服务器指定文件夹问题
    ​ 以ASP.NETCoreWebAPI 作后端 API ,用 Vue 构建前端页面,用 Axios 从前端访问后端 API,包括文件的上传和下载。 准备文件上传的API #region 文件上传  可以带参数        [HttpPost("upload")]        publicJsonResultuploadProject(I......
  • 对于img跟其他标签总是有点间距的问题——将img改成display:block
    问题在学习前端的时候,设置其他元素跟img的间距,结果F12发现有一点间距在给img添加display:block后虽然还是有点,但基本大差不差,顺利解决......
  • python3 install 其他包 报:ModuleNotFoundError: No module named '_ctypes' 的问题
    python3install其他包报:ModuleNotFoundError:Nomodulenamed'_ctypes'的问题python2import_ctypes没有问题python3import_ctypes报上述错误,说明_ctypes确实无法导入。据网上资料显示时没有安装libdiff库,但使用yum安装后,还需要重新编译python3。但python3好......
  • 关于final修饰字段的初始化问题
    一、final修饰【实例变量】1.类下没有【无参的构造方法】时1.定义时显式赋值2.构造方法中赋值(每个构造方法都需要赋值)3.普通初始化块中赋值(静态初始化块不可以)2.类下有【无参的构造方法】时1.定义时显式赋值2.普通初始化块中赋值(静态初始化块不可以)二、final修饰......
  • 解决redhat不能使用yml指令的问题
    yum remove subscription-manager卸载redhat订阅提示,不然每次都提示你去注册This system is not registered to Red Hat Subscription Managementcurl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo配置centos8的源yum mak......
  • c#上传文件到服务器指定文件夹问题
    ​ IE的自带下载功能中没有断点续传功能,要实现断点续传功能,需要用到HTTP协议中鲜为人知的几个响应头和请求头。 一. 两个必要响应头Accept-Ranges、ETag        客户端每次提交下载请求时,服务端都要添加这两个响应头,以保证客户端和服务端将此下载识别为可以断点续......
  • 因MySQL数据库无法启动导致LiteCVR视频平台也无法启动的问题解决教程
    近期呢,我们的数据人员发现有时候MySQL数据库无法启动会导致LiteCVR视频平台也无法启动,所以接下来我们将为大家讲解遇见这种问题时的解决教程。但是在这之前值得一提的一件事那就是我们的LiteCVR平台默认的数据库是SQLite,不过用户可以根据自己的使用需求选择将数据库切换为MySQL。具......