阿里2020.4.1实习笔试题——攻击怪兽
问题描述
有NNN个怪兽,MMM个弓箭,每个怪兽有生命值,每个弓箭有杀伤力和价值,每个怪兽只能用一支弓箭攻击,弓箭杀伤>=怪兽生命时可消灭怪兽,求使用弓箭的最小价值。如无法消灭,返回-1。
问题解析
因为目标是消灭怪兽,而且每个怪兽只能被一只弓箭攻击,所以我们应该在优先考虑消灭的基础上,选择最小价值的弓箭。根据这个推理,我们可以将怪兽的生命值非升序排序,并同时将弓箭按照攻击力进行非升序排序。最后,循环遍历能消灭当前怪兽的弓箭,并使用优先队列进行维护,选择价值最小的那一只即可解决该问题。
代码解析
N, M = map(int, input().split())
if M < N:return -1monst_list = list(map(int, input().split())) # N
monst_list.sort(key=lambda x: -x)value_list = list(map(int, input().split())) # M
attack_list = list(map(int, input().split())) # M
arrow_list = [(value, attack) for value, attack in zip(value_list, attack_list)] # M
arrow_list.sort(key=lambda x: -x[1])del attack_list
value_list = []res = 0
j = 0
for i in range(N):while j < M and arrow_list[j][1] >= monst_list[i]:hp.heappush(value_list, - arrow_list[j][0])j += 1if not value_list:return -1else:res += -value_list.pop()return res
阿里2020.4.1实习笔试题——攻击怪兽相关推荐
- 2021.4.11 字节跳动实习笔试题---情报解密
2021.4.11 字节跳动实习笔试题-情报解密 题目内容 题目内容: 给你一个字符串,该字符串中有数字,字母(字母只有大写字母)以及一些其他的字符(例如:%,.等),如果首字母为字母或者数字的话,就 ...
- 2014.3.29阿里巴巴暑期实习笔试题分析
參考:http://blog.csdn.net/iloveyoujelly/article/details/22941531 以下中的[分析]是我给出的. 2014.3.29阿里巴巴暑期实习笔试题分析 ...
- C语言单链表实现FCFS算法,2014腾讯实习笔试题
2014腾讯实习笔试题 1. 关于二叉树,下面说法正确的是() A. 对于N个节点的二叉树,其高度为nlog2n; B. 一个具有1025个节点的二叉树,其高度范围在11~1025之间 C. 二叉树的 ...
- 美团点评2020年测试工程师笔试题
VOL 155 04 2020-09 今天距2021年118天 这是ITester软件测试小栈第155次推文 点击上方蓝字"ITester软件测试小栈"关注我,每周一.三.五早上 ...
- 搜狗2020年测试工程师笔试题
VOL 151 21 2020-08 今天距2021年132天 这是ITester软件测试小栈第151次推文 点击上方蓝字"ITester软件测试小栈"关注我,每周一.三.五早上 ...
- 招商银行信用卡2019届实习笔试题
招商银行信用卡2019届实习笔试题 题目表述:如图 思路:有向图中找回环.(具体方法和原理可以参考相关博客)同时标记那些指向回环的顶点.全部的顶点去掉被标记的顶点,输出就是答案了.完全按照题目中的提示 ...
- linux研发工程师笔试题,2015-8-29阿里校园招聘研发工程师笔试题
2015-8-29阿里校园招聘研发工程师笔试题 1. 某团队有2/5的人会写Java程序,有3/4的人会写C++程序,这个团队里同时会写Java和C++的至少有()人 A. 3 B. 4 C. 5 ...
- 潇洒郎: 去哪儿2021届/2020年开发岗笔试题分享
去哪儿2021届/2020年开发岗笔试题分享 1. 2020年,直播已经成为去哪儿网酒店预售的新武器, 去哪儿网CEO刚哥想从公司的m名员工中挑选n名参与自己的直播,已知m小于100请问一共有多少种选 ...
- 育碧Web实习笔试题分享
育碧的Web实习笔试题分享 笔试题目一共有20道,主要有选择题,简答题以及编程题,但是大部分都是简答题,题干是全英语的,但是大致题意还是能够读懂.考查知识大体涉及JavaScript.HTTP.CSS ...
最新文章
- 用Python做一个翻译软件,还怕英语不好?
- Windows 8的无线设置后,竟不能直接更改,目前知道可以通过命令行解决
- 2016年04月28日-统一沟通之OCS 2007 R2-公开课-通知
- 模拟任务调度算法 C语言 【留学生作业】
- Android 四种启动模式
- .Net下采用Base64编码的一个封装好的类库
- 算法导论第三版 第3章习题答案
- 制作一个简单HTML个人网页网页(HTML+CSS)web前端大作业
- LeetCode——二叉树的前中后序遍历
- tl494cn逆变器电路图_TL494CN逆变器
- C# 嵌入式数据库LiteDB
- 很多次游戏的最后取胜实际上都有很强的偶然性
- 华为机试真题 C++ 实现【数字涂色】
- python3.6.6安装插件_linux python3.6安装uwsgi报错
- 【转载】一个游戏地图生成的方案
- 速度收藏 | 100+大数据开源处理工具汇总
- 基于DCT变换的JPEG图像压缩
- 微信第三方开发行业解决方案
- 虚拟机中linux磁盘空间不足
- safari下载中文文件名乱码
热门文章
- mac与linux服务器之间使用ssh互通有无
- 逐梦旅程学习笔记 DirectX开发入门01:应用程序基本框架
- vue3 Composition ApI总结
- 对IoC与DI浅显易懂的讲解
- 美团2016招聘笔试:奇数位丢弃
- 实用英语:女生拒绝男生搭讪的经典英语句
- DataGrip入门小tips
- [弱校联萌2016]2016弱校联盟十一专场10.2
- 断流测试软件,不用担心WiFi断流了!亲身测试:试了这个方法后,信号杠杠的...
- 两台W7系统的电脑,A电脑可以ping通B电脑,B电脑ping不通A电脑。