LeetCode 502. IPO(优先队列)

文章目录

    • 1. 题目
    • 2. 解题

1. 题目

假设 力扣(LeetCode)即将开始 IPO 。
为了以更高的价格将股票卖给风险投资公司,力扣 希望在 IPO 之前开展一些项目以增加其资本。
由于资源有限,它只能在 IPO 之前完成最多 k 个不同的项目。
帮助 力扣 设计完成最多 k 个不同项目后得到最大总资本的方式。

给你 n 个项目。对于每个项目 i ,它都有一个纯利润 profits[i] ,和启动该项目需要的最小资本 capital[i]

最初,你的资本为 w
当你完成一个项目时,你将获得纯利润,且利润将被添加到你的总资本中。

总而言之,从给定项目中选择 最多 k 个不同项目的列表,以 最大化最终资本 ,并输出最终可获得的最多资本。

答案保证在 32 位有符号整数范围内。

示例 1:
输入:k = 2, w = 0, profits = [1,2,3], capital = [0,1,1]
输出:4
解释:
由于你的初始资本为 0,你仅可以从 0 号项目开始。
在完成后,你将获得 1 的利润,你的总资本将变为 1。
此时你可以选择开始 1 号或 2 号项目。
由于你最多可以选择两个项目,所以你需要完成 2 号项目以获得最大的资本。
因此,输出最后最大化的资本,为 0 + 1 + 3 = 4。示例 2:
输入:k = 3, w = 0, profits = [1,2,3], capital = [0,1,2]
输出:6提示:
1 <= k <= 10^5
0 <= w <= 10^9
n == profits.length
n == capital.length
1 <= n <= 10^5
0 <= profits[i] <= 10^4
0 <= capital[i] <= 10^9

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/ipo
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

类似题目:LeetCode 1976. 到达目的地的方案数(迪杰斯特拉 Python 优先队列)

  • 先按照启动资金排序
  • 把自己能够得着的项目放进优先队列,取出最大收益的
  • 再检查自己能不能够着更多的,重复执行
class Solution:def findMaximizedCapital(self, k: int, w: int, profits: List[int], capital: List[int]) -> int:from queue import PriorityQueueq = PriorityQueue()item = list(zip(profits, capital)) # 打包item.sort(key=lambda x : x[1]) # 排序i, n = 0, len(item)while k:while i < n and w >= item[i][1]: # 可以够得着q.put(-item[i][0]) # python优先队列小的优先,取负数i += 1getMoney = Falsewhile not q.empty():w += -q.get() # 拿到收益了getMoney = Truebreakif not getMoney:breakk -= 1return w

796 ms 37.4 MB Python3


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
Michael阿明

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/471702.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机水平考试ppt试卷,计算机等级考试一级笔试卷库.ppt

计算机等级考试一级笔试卷库计算机等级考试一级笔试题库 全国计算机等级考试一级题库 1&#xff0e;微机中1K字节表示的二进制位数是( )。? A、1000 B、8x 1000 C、1024 D、8x1024?? 2&#xff0e;计算机硬件能直接识别和执行的只有( )。 A、高级语言 B、符号语言 C、汇编语…

mysql中ibatis的limit动态传参

param.put("pageNo",pageNo); param.put("pageSize",pageSize); sqlMap中的用法 limit ${pageNo},${pageSize} 我今天在敲代码的时候这么用结果就报错了:limit #pageNo#,#pageSize# 后来查资料才知道 limit 后面不应该用#&#xff08;我传进来的是Intege…

牛客网软通动力软件测试机试_软通动力软件测试笔试题

.;.1&#xff0e;软件测试是软件开发的重要环节&#xff0c;进行软件测试的目的是()A)证明软件错误不存在B)证明软件错误的存在C)改正程序所有的错误D)发现程序所有的错误2&#xff0e;对于软件质量描述不正确的是&#xff1a;()A)高质量的过程产生高质量的产品B)软件质量是测试…

公安计算机技能测试题库,2018公安文职考试题库:行政职业能力测验

【导语】中公重庆招警考试网为大家带来公安文职考试练习题&#xff1a;行政职业能力测验&#xff0c;帮助各位考生顺利备考公安文职考试笔试。1.美国中央情报局和国家保安局根据计算机专家提供的数据&#xff0c;已充分认识到军用电子系统的一个致命弱点——容易遭到计算机病毒…

OpenGL于MFC使用汇总(三)——离屏渲染

有时直接创建OpenGL形式不适合&#xff0c;或者干脆不同意然后创建一个表单&#xff0c;正如我现在这个项目&#xff0c;创建窗体不显示&#xff0c;它仅限于主框架。而我只是ActiveX里做一些相关工作&#xff0c;那仅仅能用到OpenGL的离屏渲染技术了~即不直接绘制到窗体上&…

python 动态属性和特性

文章目录1. 使用动态属性转换数据2. property2.1 help() 文档3. 特性工厂函数4. 属性删除操作5. 处理属性的重要属性和函数5.1 处理属性的内置函数5.2 处理属性的特殊方法learn from 《流畅的python》 1. 使用动态属性转换数据 在 Python 中&#xff0c;数据的属性和处理数据…

bash 不是内部或外部命令_Win10_cmd下提示:‘xxx’不是内部或外部命令,也不是可运行的程序 或批处理文件...

一、windows下命令行查看ip: win+R,调出【运行】,输入cmd,回车打开终端,输入ipconfig,查看成功: 二、可能出现的问题: ping 不是内部或外部命令,也不是可运行的程序或批处理文件。 ipconfig 不是内部或外部命令,也不是可运行的程序或批处理文件。 解决: 1、控制面板…

python 属性描述符

文章目录1. 描述符示例&#xff1a;验证属性2. 自动获取储存属性的名称3. 继承改进4. 覆盖型与非覆盖型描述符对比4.1 覆盖型描述符4.2 没有 __get__ 方法的覆盖型描述符4.3 非覆盖型描述符4.4 在类中覆盖描述符5. 描述符用法建议learn from 《流畅的python》 1. 描述符示例&a…

计算机声音与视频教程,电脑怎么录屏幕视频带声音 电脑录屏幕视频带声音教程...

电脑怎么录屏幕视频带声音&#xff0c;相信有许多的用户在工作上或者学习上也会有这种需求&#xff0c;自己对此也还是不太的了解&#xff0c;毕竟也是没有怎么使用过&#xff0c;对此也是想要知道这电脑怎么录屏幕视频带声音&#xff0c;其实也是有几个原因&#xff0c;下面就…

tensor转换为图片_为大家介绍图片转换pdf的经验总结!你找对方法了吗?

图片转换pdf怎么做&#xff1f;不少朋友们在学习和工作中都发现了PDF这种文件格式似乎格外的吃香&#xff0c;你收到的很多培训文件和在网上搜罗的一些学习文件&#xff0c;全部都是PDF格式&#xff0c;PDF格式这么吃香&#xff1f;甚至有人让你把图片都转成PDF格式&#xff0c…

LeetCode 2021 力扣杯全国秋季编程大赛(第384名)

文章目录1. 无人机方阵2. 心算挑战3. 黑白翻转棋4. 玩具套圈5. 十字路口的交通2021.9.11&#xff0c;周六比赛之前&#xff1a;早上去交大看看&#xff0c;本科毕业10年了&#xff0c;由于限流&#xff0c;校园里没有多少回校的校友。逛了逛&#xff0c;跟太太和的她的同学一起…

URAL 2047 Maths 打表 递推

MathsTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/view.action?cid87157#problem/B Description Android Vasya attends Maths classes. His group started to study the number theory recently. The teacher gave them severa…

java 画笔跟swing组件_Java学习教程(基础)--Java版本历史(二)

Java语言自JDK1.0版本以来经历了许多次更新&#xff0c;也在基本程序库中增加了大量的类别和包。从J2SE 1.4开始&#xff0c;Java语言的变动由 Java Community Process&#xff08;JCP&#xff09;管理&#xff0c;JCP使用Java规范请求&#xff08;Java Specification Requests…

计算机网络路由选择协议,IP路由选择协议原理和作用

IP路由选择协议原理和作用(2008-10-20 19:26:17)标签&#xff1a;杂谈IP路由选择如果目的主机与源主机直接相连或都在一个共享网络上,那就直接把包发送到目的主机,如果不是,那把ip数据报送到默认路由器,由它转发路由器使用路由表保存自己知道的网络的信息,它包括:目的IP地址,它…

LeetCode 2000. 反转单词前缀

文章目录1. 题目2. 解题1. 题目 给你一个下标从 0 开始的字符串 word 和一个字符 ch 。 找出 ch 第一次出现的下标 i &#xff0c;反转 word 中从下标 0 开始、直到下标 i 结束&#xff08;含下标 i &#xff09;的那段字符。 如果 word 中不存在字符 ch &#xff0c;则无需进…

oss图片跨域问题_图片存储解决方案-阿里云对象存储

开通对象存储OSS1. 打开阿里云官网&#xff0c;选择产品对象存储 OSS 2.开通对象存储OSS 需要支付宝扫码登录3.进入管理控制台 4.新建存储空间 5.跨域资源共享(CORS)的设置管理文件整合Springboot实现图片上传服务端签名直传并设置上传回调 : 在服务端完成签名&#xff0c;并且…

2015-8-10工作日志

1. 工作规划&#xff1a;完成系统请假管理的功能。 &#xff08;1&#xff09;根据系统需求完成请假管理model&#xff1b; &#xff08;2&#xff09;进行请假流程的deployment&#xff1b; &#xff08;3&#xff09;进行请假流程的流程定义管理&#xff1b; &#xff08;4&a…

会理天气预报软件测试,会理天气预报15天

发送给QQ好友★会理未来15天天气预报★会理天气预报7月22日 星期四:阵雨&#xff0c;18C~28C无持续风向&#xff0c;小于3级会理天气预报7月23日 星期五:阵雨&#xff0c;18C~28C无持续风向&#xff0c;小于3级会理天气预报7月24日 星期六:阵雨&#xff0c;18C~27C无持续风向&a…

LeetCode 2001. 可互换矩形的组数

文章目录1. 题目2. 解题1. 题目 用一个下标从 0 开始的二维整数数组 rectangles 来表示 n 个矩形&#xff0c;其中 rectangles[i] [widthi, heighti] 表示第 i 个矩形的宽度和高度。 如果两个矩形 i 和 j&#xff08;i < j&#xff09;的宽高比相同&#xff0c;则认为这两…

google 浏览器默认打开控制台_前端开发调试:浏览器console方法总结

今天突发奇想&#xff0c;准备总结下console的各个函数。以前都是只用一个console.log(),查了一下发现有好多&#xff0c;就记下来&#xff0c;方便以后查阅。速记consoleConsole对象提供浏览器控制台的接入&#xff0c;不同浏览器是不一样的&#xff0c;这里介绍普遍存在的Con…