【力扣每日一题】2023.9.3 消灭怪物的最大数量
目录
题目:
示例:
分析:
代码:
题目:

示例:

分析:
题目比较长,我概括一下就是有一群怪物,每只怪物离城市的距离都不一样,并且靠近的速度也不一样,每次我们可以消灭一只,当怪物到达城市的时候我们就失败了,问我们最终可以消灭多少只怪物。
我的第一想法是直接模拟,不过做了一点小优化。我们每次都先将怪物的距离减去速度表示它们移动了,每次有到达城市的怪物(也就是距离城市小于等于0的)我们就记录下数量。最终我们比较一下到达城市的怪物和已经经过的轮数谁更大,这时候轮数就等于我们击杀的怪物数量,因为一轮只能杀一只怪物。如果达到城市的怪物数量大于我们击杀的数量,那么结束,我们返回击杀数即可。

我一开始觉得这么做应该勉强能过,因为对vector进行删除元素的操作很费时间,而这么操作不需要对数组进行删除元素的操作,虽然也是暴力模拟,但也不是单纯的模拟,不过结果还是超时了,我们就需要另外想一个办法。
我们先想想我们每轮需要击杀的怪物是哪一只,是离城市最近的吗?不是,就算一个怪物离城市很近,但是它的速度比较慢,那也是对我们暂时没有威胁的。
我们优先消灭的怪物是最快到达的怪物,所以我们可以把每个怪物到达城市所需花费的时间算出来,接着对花费时间从小到大升序排序,优先消灭靠前的怪物,不过我们并不需要知道具体是哪一只怪物,所以可以直接对存放花费时间的数组进行排序。
直接遍历排序后的数组,如果第 i 个元素小于等于 i ,那么就表示会有怪物在我们击杀它之前到达城市,这时候返回 i ,也就是轮数,同时也是等于我们击杀的怪物数量。
代码:
class Solution {
public:int eliminateMaximum(vector<int>& dist, vector<int>& speed) {//超时int res=0;while(res<dist.size()){int num=0;for(int i=0;i<dist.size();i++){dist[i]-=speed[i]; //预先让怪物先移动if(dist[i]<=0) num++; //如果怪物距离小于等于0则表示到达城市,记录数量}res++; //每轮至少可以击杀一个怪兽if(num>res) break; //如果到达城市的怪物大于我们击杀的怪兽数,退出循环 }return res;int n=dist.size();vector<int>cache(n);for(int i=0;i<n;i++){ //提前计算出每只怪物到达城市需要多久cache[i]=dist[i]/speed[i]+(dist[i]%speed[i]!=0);}//按照到达的先后顺序升序排序sort(cache.begin(),cache.end());for(int i=0;i<n;i++){//如果有怪物达到的时间小于等于当前轮数,那么返回当前轮数if(cache[i]<=i) return i;}return n;}
};
相关文章:
【力扣每日一题】2023.9.3 消灭怪物的最大数量
目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 题目比较长,我概括一下就是有一群怪物,每只怪物离城市的距离都不一样,并且靠近的速度也不一样&#x…...
Python入门教程 | Python3 列表(List)
Python3 列表 序列是 Python 中最基本的数据结构。 序列中的每个值都有对应的位置值,称之为索引,第一个索引是 0,第二个索引是 1,依此类推。 Python 有 6 个序列的内置类型,但最常见的是列表和元组。 列表都可以进…...
Java低代码开发:jvs-list(列表引擎)功能(一)配置说明
在低代码开发平台中,列表页是一个用于显示数据列表的页面。它通常用于展示数据库中的多条记录,并提供搜索、排序和筛选等功能,以方便用户对数据进行查找和浏览。 jvs-list是jvs快速开发平台的列表页的配置引擎,它和普通的crud 具…...
UI自动化之关键字驱动
关键字驱动框架:将每一条测试用例分成四个不同的部分 测试步骤(Test Step):一个测试步骤的描述或者是测试对象的一个操作说明测试步骤中的对象(Test Object):指页面的对象或者元素对象执行的动…...
前端高性能渲染 — 虚拟列表
虚拟列表,实际上就是在首屏加载的时候,只加载可视区域内需要的列表项,当滚动发生时,动态通过计算获得可视区域内的列表项,并将非可视区域内存在的列表项删除。该技术是解决渲染大量数据的一种解决方法。 实现虚拟列表&…...
防水出色的骨传导耳机,更适合户外运动,南卡Runner Pro 4S体验
已经接近尾声的夏季依然酷热,对于运动爱好者来说,这确实也是锻炼的好时机,无论是一会儿就能大汗淋漓的HIIT,还是是各种清凉的水上运动,在健身的同时,戴上一副耳机享受音乐,都会更加痛快一些。 相…...
docker快速安装-docker一键安装脚本
1.下载/配置安装脚本 touch install-docker.sh #!/bin/bash #mail:ratelcloudqq.com #system:centos7 #integration: docker-latestclear echo "######################################################" echo "# Auto Install Docker …...
1584 - Circular Sequence (UVA)
题目链接如下: Online Judge 我的代码如下: #include <cstdio> #include <string.h> const int maxN 101;int T, len, pivot; char a[maxN];int main(){scanf("%d", &T);for(int i 0; i < T; i){scanf("%s"…...
Revit SDK:Selections 选择
前言 Revit 作为一款成熟的商业软件,它将自己的UI选择功能也通过 API 暴露出来。通过 API 可以按照特定的过滤规则来选择相应的元素,能力和UI基本上是等价的。这个 SDK 用四个例子展示了 API 的能力,内容如下。 内容 PickforDeletion 核心…...
K8s中的RBAC(Role-Based Access Control)
摘要 RBAC(基于角色的访问控制)是一种在Kubernetes中用于控制用户对资源的访问权限的机制。以下是RBAC的设计实现说明: 角色(Role)和角色绑定(RoleBinding):角色定义了一组权限&am…...
肖sir__设计测试用例方法之经验测试方法09_(黑盒测试)
设计测试用例方法之经验测试方法 一、经验的测试技术 (1)基于经验的测试技术之错误推测法 错误推测法也叫错误猜测法,就是根据经验猜想,已有的缺陷,测试经验和失败数据等可能有什么问题并依此设计测试用例 ࿰…...
Python爬虫:下载小红书无水印图片、视频
该代码只提供学习使用,该项目是基于https://github.com/JoeanAmier/XHS_Downloader的小改动 1.下载项目 git clone https://github.com/zhouayi/XHS_Downloader.git2.找到需要下载的文章的ID 写入main.py中 3.下载 python main.py最近很火的莲花楼为例<嘿嘿…...
【小沐学Unity3d】3ds Max 多维子材质编辑(Multi/Sub-object)
文章目录 1、简介2、精简材质编辑器2.1 先创建多维子材质,后指定它2.2 先指定标准材质,后自动创建多维子材质 3、Slate材质编辑器3.1 编辑器简介3.2 编辑器使用 结语 1、简介 多维子材质(Multi/Sub-object)是为一个模形࿰…...
# Go学习-Day8
文章目录 Go学习-Day8单元测试Goroutine进程和线程并发和并行Go协程和主线程MPG模式CPU相关协程并行的资源竞争 Go学习-Day8 个人博客:CSDN博客 单元测试 testing框架会将xxx_test.go的文件引入,调用所有TestXxx的函数 在cal_test.go文件里面写这个 …...
Maven编译java及解决程序包org.apache.logging.log4j不存在问题
1、首先新建一个文件夹,比如hello Hello里新建pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi…...
【小吉测评】高效简洁的数据库管控平台—CloudQuery
文章目录 🎄CloudQuery是什么🛸CloudQuery支持的数据源类型🍔CloudQuery社区地址🌺如何使用🛸参考官方文档🛸参考视频教程🎈点击免费下载🎈立即下载即可🎈使用服务器完成…...
获取微信小程序二维码的bug
项目场景: 获取微信小程序二维码的bug,原来测试一直是没问题的,上线后也没啥问题,这次突然爆错 问题描述 access_token已失效或已过期 {"errcode":40001,"errmsg":"invalid credential, access_token is invalid…...
Linux之Shell(一)
Linux之Shell Shell概述Linux提供的Shell解析器bash和sh的关系Centos默认的解析器是bash Shell脚本入门脚本格式第一个脚本脚本常用的执行方式 变量系统预定义变量自定义变量特殊变量$n$#\$*、\$$? 运算符条件判断流程控制(▲)if判断case语句for循环while循环 read读取控制台输…...
解决拦截器抛出异常处理类的500状态码Html默认格式响应 !
解决方式 <mvc:annotation-driven><mvc:message-converters><!-- 配置JSON消息转换器 --><bean class"org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"><property name"supportedMediaTypes"&…...
搭建PyTorch神经网络进行气温预测
import numpy as np import pandas as pd import matplotlib.pyplot as plt import torch import torch.optim as optim import warnings warnings.filterwarnings("ignore") %matplotlib inline features pd.read_csv(temps.csv)#看看数据长什么样子 features.he…...
Bootstrap 下拉菜单:全面解析与应用指南
Bootstrap 下拉菜单:全面解析与应用指南 引言 Bootstrap 是一个流行的前端框架,它提供了丰富的组件和工具来帮助开发者快速构建响应式、美观的网页。其中,下拉菜单是 Bootstrap 中一个常用且重要的组件,它能够帮助用户在有限的空间…...
3个核心技巧:Element Plus效率提升与性能优化指南
3个核心技巧:Element Plus效率提升与性能优化指南 【免费下载链接】element-plus 🎉 A Vue.js 3 UI Library made by Element team 项目地址: https://gitcode.com/GitHub_Trending/el/element-plus 副标题:面向初中级开发者的Element…...
别再踩坑了!KubeKey离线安装K8s v1.26.12时,containerd镜像拉取失败的完整避坑指南
KubeKey离线部署K8s集群:containerd镜像拉取全流程避坑手册 第一次用KubeKey离线部署Kubernetes集群时,containerd镜像拉取失败的问题让我折腾了大半天。看着部署日志里反复出现的证书错误提示,才意识到离线环境下的镜像仓库配置远比想象中复…...
告别兼容性问题:手把手教你用canvas和base64转换TIFF图片
前端工程师必备:TIFF图片处理全攻略与实战解决方案 在当今数字内容爆炸式增长的时代,图片处理已成为前端开发中不可或缺的一环。作为专业开发者,我们经常需要面对各种图片格式的兼容性问题,其中TIFF(Tagged Image Fil…...
noice.nvim终极性能优化指南:让你的Neovim编辑器运行如飞
noice.nvim终极性能优化指南:让你的Neovim编辑器运行如飞 【免费下载链接】noice.nvim 💥 Highly experimental plugin that completely replaces the UI for messages, cmdline and the popupmenu. 项目地址: https://gitcode.com/gh_mirrors/no/noic…...
BG3ModManager模组管理工具完全指南
BG3ModManager模组管理工具完全指南 【免费下载链接】BG3ModManager A mod manager for Baldurs Gate 3. 项目地址: https://gitcode.com/gh_mirrors/bg/BG3ModManager 一、初识BG3ModManager BG3ModManager作为《博德之门3》的专用模组管理工具,为玩家提供…...
HUNYUAN-MT 7B翻译终端Python爬虫数据清洗实战:多语言文本归一化处理
HUNYUAN-MT 7B翻译终端Python爬虫数据清洗实战:多语言文本归一化处理 1. 引言 你有没有遇到过这种情况?辛辛苦苦用Python爬虫从全球各地的网站、论坛、社交媒体上抓取了一大堆数据,准备做分析或者训练模型,结果打开一看…...
【office2pdf】PPTX 字体解析与文本样式继承(PPTX_FONT_RESOLUTION.md)
摘要 本文档记录了 PPTX 保真度问题,该问题最初看起来像是布局错误, 但实际上是由不完整的字体和文本样式解析引起的。 可见的症状是多个幻灯片上的文本块,尤其是幻灯片 4 的"SKILLS"区域, 与 PowerPoint 不匹配&#x…...
【论文】信息系统项目管理师范围管理要点
本资料摘自《科科过论文集分析》,底部附PDF图片版记忆。项目管理中范围管理的六大核心环节,旨在为专业写作提供具体的实践指导与案例素材。文档强调在描述规划、需求收集和范围定义时,应避免枯燥的理论堆砌,转而通过真实的业务场景…...
CHORD-X深度研究报告生成:集成MySQL进行数据存储与管理的配置指南
CHORD-X深度研究报告生成:集成MySQL进行数据存储与管理的配置指南 如果你正在使用CHORD-X这类强大的研究报告生成工具,可能会遇到一个甜蜜的烦恼:生成的内容越来越多,数据越来越杂,怎么才能把它们管得井井有条&#x…...
