leetcode 1921. 消灭怪物的最大数量(每日一题)

2023-09-13 21:49:35

最近学习的状态找回很多。慢慢来吧,加油! 



1921. 消灭怪物的最大数量

你正在玩一款电子游戏,在游戏中你需要保护城市免受怪物侵袭。给你一个 下标从 0 开始 且长度为 n 的整数数组 dist ,其中 dist[i] 是第 i 个怪物与城市的 初始距离(单位:米)。

怪物以 恒定 的速度走向城市。给你一个长度为 n 的整数数组 speed 表示每个怪物的速度,其中 speed[i] 是第 i 个怪物的速度(单位:米/分)。

怪物从 第 0 分钟 时开始移动。你有一把武器,并可以 选择 在每一分钟的开始时使用,包括第 0 分钟。但是你无法在一分钟的中间使用武器。这种武器威力惊人,一次可以消灭任一还活着的怪物。

一旦任一怪物到达城市,你就输掉了这场游戏。如果某个怪物  在某一分钟开始时到达城市,这会被视为 输掉 游戏,在你可以使用武器之前,游戏就会结束。

返回在你输掉游戏前可以消灭的怪物的 最大 数量。如果你可以在所有怪物到达城市前将它们全部消灭,返回  n 。

示例 1:

输入:dist = [1,3,4], speed = [1,1,1]
输出:3
解释:
第 0 分钟开始时,怪物的距离是 [1,3,4],你消灭了第一个怪物。
第 1 分钟开始时,怪物的距离是 [X,2,3],你没有消灭任何怪物。
第 2 分钟开始时,怪物的距离是 [X,1,2],你消灭了第二个怪物。
第 3 分钟开始时,怪物的距离是 [X,X,1],你消灭了第三个怪物。
所有 3 个怪物都可以被消灭。

示例 2:

输入:dist = [1,1,2,3], speed = [1,1,1,1]
输出:1
解释:
第 0 分钟开始时,怪物的距离是 [1,1,2,3],你消灭了第一个怪物。
第 1 分钟开始时,怪物的距离是 [X,0,1,2],你输掉了游戏。
你只能消灭 1 个怪物。

示例 3:

输入:dist = [3,2,4], speed = [5,3,2]
输出:1
解释:
第 0 分钟开始时,怪物的距离是 [3,2,4],你消灭了第一个怪物。
第 1 分钟开始时,怪物的距离是 [X,0,2],你输掉了游戏。 
你只能消灭 1 个怪物。

提示:

  • n == dist.length == speed.length
  • 1 <= n <= 105
  • 1 <= dist[i], speed[i] <= 105

思路

还是一个比较简单的题 最开始看见题目还以为很难呢,多读几遍,哦!原来如此

定义两个数组,一个是num[i]=dist[i]/speed[i]  这个是怪兽在第几分钟到达城市,一个是从0开始的递增数组 num1[i]           因为这个枪一次只能打一个怪兽,所以如果num[i]<=num1[i]  说明此时枪的冷却还没有好,但是怪兽已经进城了。

代码如下

class Solution {
public:
    int eliminateMaximum(vector<int>& dist, vector<int>& speed) {
        int n=dist.size();
        if(n==1)
        return 1;
        vector<double>num(n);
        vector<double>num1(n);
        for(int i=0;i<n;i++)
        {
            num[i]=(double)dist[i]/(double)speed[i];
             num1[i]=i;
        }
        sort(num.begin(),num.end());
        for(int i=1;i<n;i++)
        {
            if(num[i]<=num1[i])
            return i;
        }
        return n;
    }
};

更多推荐

JS的WebAPI

WebAPI背景知识什么是WebAPI前面学习的JS分成三个大的部分ECMAScript:基础语法部分DOMAPI:操作页面结构BOMAPI:操作浏览器WebAPI就包含了DOM+BOM.什么是APIAPI是一个更广义的概念.而WebAPI是一个更具体的概念,特指DOM+BOM,所谓的API本质上就是一些现成的函数/对

【视觉SLAM入门】9.1 建图1---SLAM任务,稠密地图构建,立体视觉,RGBD,八叉树,点云地图等各种不同地图

"讷为君子,寡为吉人”1.立体稠密地图1.1地图构建1.2分析立体相机稠密建图效果2.RGB-D稠密地图2.1地图对比2.1.1八叉树地图3.建图?定位?孰轻孰重3.1鬼影问题3.2三维重建4.总结SLAM的功能:直到现在我们可以知道SLAM包含:定位,导航,避障,重建,交互。在不同的功能下也有不同的地图。之前的都是稠

计算机毕设 python图像检索系统设计与实现

文章目录0前言1课题简介2图像检索介绍(1)无监督图像检索(2)有监督图像检索3图像检索步骤4应用实例5最后0前言🔥这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。为了大家能够顺利以及最少的精力通过

Rockchip RK3399 - USB触摸屏接口驱动

----------------------------------------------------------------------------------------------------------------------------开发板:NanoPC-T4开发板eMMC:16GBLPDDR3:4GB显

spring:实现初始化动态bean|获取对象型数组配置文件

0.引言近期因为要完成实现中间件的工具包组件,其中涉及要读取对象型的数组配置文件,并且还要将其加载为bean,因为使用了spring4.3.25.RELEASE版本,很多springboot的相关特性无法支持,因此特此记录,以方便后续同学有相同情况可以参考1.获取对象型数组配置文件首先对象型数组配置文件如下所示:min

什么是实时操作系统(UCOS简介)

uC/OS-III官网:HomePage-WestonEmbeddedSolutions一、裸机与RTOS介绍下面我将从不同方面阐述裸机与试试操作系统的区别,从而进一步介绍裸机和实时操作系统定义:裸机:裸机指的是没有任何操作系统或软件层的硬件系统。在裸机状态下,程序可以直接访问硬件资源。实时操作系统:实时操作系统(RT

[Python进阶] 程序打包之Pyinstaller参数介绍

5.4Pyinstaller参数介绍5.4.1选项参数参数名说明-h、–help查看Pyinstaller所有命令的用法和帮助-v、–version查看当前Pyinstaller版本–distpathDIR设置dist位置,默认当前目录–workpathWORKPATH设置build位置,默认当前目录-y、–nocon

Java基础之lambda表达式(JDK1.8新特性)

文章目录Lambda表达式各种函数式接口Lambda的语法Lambda表达实例举例说明变量作用域处理lambda表达式变量作用域函数式接口使用实例1使用实例2使用示例3(集合排序)使用示例4(按照对象属性给list排序)使用示例4总结参考Lambda表达式Lambda表达式允许把函数作为一个方法的参数(函数作为参数传递

第十四届蓝桥杯省赛 Python B 组 D 题——管道(AC)

目录1.管道1.问题描述2.输入格式3.输出格式4.样例输入5.样例输出6.评测用例规模与约定2.解题思路3.AC_Code1.管道1.问题描述有一根长度为len\text{len}len的横向的管道,该管道按照单位长度分为len\text{len}len段,每一段的中央有一个可开关的阀门和一个检测水流的传感器。一开始

OpenHarmony应用开发—ArkUI组件集合

介绍本示例为ArkUI中组件、通用、动画、全局方法的集合。效果预览使用说明:1.点击组件、通用、动画、全局方法四个按钮或左右滑动切换不同视图。2.点击二级导航(如通用属性、通用事件等),若存在三级导航则展开三级导航(如Border边框、点击事件等);若不存在三级导航,则跳转至详情页面。若存在三级导航(如Border边框

从腾讯跳槽到英特尔,真实感受爆料

腾讯已经不像互联网公司了,之前国内的互联网还是要感谢一下外企,但是后面就开始卷起来了!在卷的环境里,食堂再好吃也没有用,因为是不会补回来的,而且英特尔已经是外企的天花板了知足吧!如果办公区很有生活的气息,那只能说明这些人根本没有生活,只为事业奋斗!还有很多网友询问英特尔的工作情况和面试情况“面试和工作都是英文吗?”“英

热文推荐