当前位置: 首页 > news >正文

leetcode 502. IPO

假设 力扣(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 <= 105
0 <= w <= 109
n == profits.length
n == capital.length
1 <= n <= 105
0 <= profits[i] <= 104
0 <= capital[i] <= 109
题目链接
思路:可用贪心法和堆来实现,每次把满足条件的入堆,然后区收益最大的(也可以把数组提前排序下,这样就不用反复遍历了)

from functools import cmp_to_key
import heapq
class Solution:def compare(self, num1, num2):## (profit, capital)if num1[0] > num2[0]:return -1elif num1[0] == num2[0]:if num1[1] <= num2[1]:return -1return 1else:return 1def findMaximizedCapital(self, k: int, w: int, profits: List[int], capital: List[int]) -> int:k = min(k, len(profits))nums = []for i in range(len(profits)):nums.append([profits[i], capital[i]])#nums = sorted(nums, key=cmp_to_key(self.compare))res = wss = []for i in range(k):temp = []for x in nums:if x[1] <= res:## heapq 默认是最小值堆,增加一个负号,构建最大值堆heapq.heappush(ss, [-x[0], x[1]])else:temp.append(x)if len(ss) == 0:return res#print(ss)top = heapq.heappop(ss)res -= top[0]nums = temp[:]return res

相关文章:

leetcode 502. IPO

假设 力扣&#xff08;LeetCode&#xff09;即将开始 IPO 。为了以更高的价格将股票卖给风险投资公司&#xff0c;力扣 希望在 IPO 之前开展一些项目以增加其资本。 由于资源有限&#xff0c;它只能在 IPO 之前完成最多 k 个不同的项目。帮助 力扣 设计完成最多 k 个不同项目后…...

[软考中级]软件设计师-计算机网络

网络设备 物理层 物理层不能隔离广播域和冲突域 中继器&#xff0c;集线器 集线器可看成是特殊的多路中继器 数据链路层 可以隔离冲突域不能隔离广播域 网桥&#xff0c;交换机 交换机是多端口的网桥 网络层 可以隔离广播域和冲突域 路由器 应用层 网关 协议簇 …...

Linux搭建我的世界MC服务器 【Minecraft外网联机教程】

目录 前言 1. 安装JAVA 2. MCSManager安装 3.局域网访问MCSM 4.创建我的世界服务器 5.局域网联机测试 6.安装cpolar内网穿透 7. 配置公网访问地址 8.远程联机测试 9. 配置固定远程联机端口地址 9.1 保留一个固定tcp地址 9.2 配置固定公网TCP地址 9.3 使用固定公网…...

APISIX 中ETCD 的问题

1. 问题1 &#xff1a; Error: client: etcd cluster is unavailable or misconfigured; error #0: client: endpoint http://etcd:2379 exceeded header timeout error #0: client: endpoint http://etcd:2379 exceeded header timeout 修改APISIX config ETCD_ADVERTISE_CL…...

SSH版本信息可被获取

漏洞描述 Name SSH版本信息可被获取 Description SSH服务允许远程攻击者获得ssh的具体信息&#xff0c;如版本号等等。这可能为攻击者发动进一步攻击提供帮助。 CVE No. CVE-1999-0634 分析结果 该问题不属于漏洞&#xff0c;不存在安全风险。SSH协议是一种安全协议&am…...

android 修改输出apk的包名

一&#xff0c;打包方式使用IDE菜单选项 二、在app级别的build.gradle下配置&#xff1a; static def releaseTime() {return new Date().format("yyyyMMdd.kkmm", TimeZone.getTimeZone("GMT8")) }android.applicationVariants.all { variant ->print…...

uni-app:文本超出部分用省略号表示

效果 前 后 核心代码 white-space: nowrap; /* 强制不换行 */ text-overflow: ellipsis; /* 超过部分省略号代替 */ overflow: hidden; /* 必须同时设置overflow:hidden才能生效 */ 完整代码 <template><view><view class"all_style"><view c…...

轻松实现视频、音频、文案批量合并,享受批量剪辑的便捷

在日常生活中&#xff0c;我们经常会需要将多个视频、音频和文案进行合并剪辑&#xff0c;以制作出符合我们需求的短视频。然而&#xff0c;这个过程通常需要花费大量的时间和精力。幸运的是&#xff0c;现在有一款名为“固乔智剪软件”的工具可以帮助我们轻松完成这个任务。 首…...

Spring Boot、Nacos配置文件的优先级

在标准的 SpringBoot 应用中&#xff0c;本地配置加载顺序如下&#xff1a; 本地 bootstrap 配置&#xff0c;先于 application 配置加载。不带 profile 的配置&#xff0c;先于带 profile 的配置加载。xxx.yaml 先于 xxx.properties 加载。本地配置先于 nacos 配置中心加载。…...

GO脚本-模拟鼠标键盘

01GetCoordinate 获取坐标 package mainimport ("github.com/go-vgo/robotgo" )func main() {// 获取当前鼠标所在的位置x, y : robotgo.GetMousePos()println(x&#xff1a;, x, y&#xff1a;, y)}02GetColor 获取坐标颜色 package mainimport ("fmt&quo…...

Ubuntu设置SSH

在Ubuntu上通过SSH服务远程连接其他机器 首先通过以下命令判断是否安装SSH服务&#xff1a; ssh localhost如果出现 ssh: connect to host localhost port 22: Connection refused 则表示还未安装SSH。 通过以下命令安装SSH&#xff1a; sudo apt update sudo apt install…...

创作2周年?浅记一下~

前言&#xff1a; 最近确实有点缺乏去更新博客的动力&#xff0c;一晃两年过去了&#xff0c;其实也是我新入职公司的两年&#xff0c;两年虽然不长&#xff0c;但是确实发生了太多事情值得去记录下来... 机缘 说是机缘也不是算是&#xff0c;第一次写博客是刚好在CSDN里面查资…...

MATLAB算法实战应用案例精讲-【优化算法】光学显微镜算法(OMA)(附MATLAB代码实现)

前言 光学显微镜算法(Optical Microscope Algorithm, OMA)从光学显微镜对目标物体的放大能力中获得灵感,使用肉眼进行初始观察,并通过物镜和目镜模拟放大过程。通过两个实验验证了OMA的性能,该算法具有用户友好且不需要初始化参数的特点:(1)在50个Benchmark函数上,将OMA与…...

常见弯道输送机有哪些

提到弯道输送机您可能首先想到的就是弯道滚筒线&#xff0c;其实除了滚筒线之外&#xff0c;也有一些其他线体可以做弯道&#xff0c;下面就为您总结了4种常见的弯道输送机。 1、弯道皮带线&#xff1a;即线体转弯处设计成皮带输送机&#xff0c;这种形式的转弯设计可以实现不同…...

聚观早报 | 2023社交进入大变革时代;赛力斯发布9月产销快报

【聚观365】10月9日消息 2023社交进入大变革时代 赛力斯发布9月产销快报 Meta Quest 3头显上市在即 PayPay5年用户数超6000万 现代汽车9月销售约1.8万辆电动汽车 2023社交进入大变革时代 不久前&#xff0c;Meta推出社交平台Threads、微信种草社区“小绿书”开启内测&…...

nginx-proxy反向代理缓存

介绍&#xff1a; 反向代理缓存&#xff0c;类似于动静分离&#xff0c;即通过nginx代理服务器根据客户端发送的url请求&#xff0c;去后台服务器获取数据&#xff0c;将静态数据缓存到nginx代理服务器上&#xff0c;并配置有过期时间&#xff0c;当客户端下次以相同的url请求…...

Java反射(一)--- 类的实例化

文章目录 一、整理框架二、Java反射机制提供的功能三、反射相关的主要API四、相关代码&#xff1a;1.Person类2.反射之前&#xff0c;对于Person类的操作3.反射之后&#xff0c;对于Person类的操作 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、整…...

web3.0时代分布式网络协议的异同

Web3.0时代标志着分布式网络协议的兴起&#xff0c;其中IPFS&#xff08;InterPlanetary File System&#xff09;和NDN&#xff08;Named Data Networking&#xff09;是备受瞩目的项目。尽管它们都属于分布式网络协议领域&#xff0c;但在多个方面存在显著区别。以下是IPFS和…...

【多线程案例】设计模式-单例模式

1.单例模式 什么是单例模式&#xff1f; 所谓单例&#xff0c;即单个实例。通过编码技巧约定某个类只能有唯一一个实例对象&#xff0c;并且提前在类里面创建好一个实例对象&#xff0c;把构造方法私有化&#xff0c;再对外提供获取这个实例对象的方法&#xff0c;&#xff0…...

MyBatis-Plus演绎:数据权限控制,优雅至极!

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是尘缘&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f449;点击这里&#xff0c;就可以查看我的主页啦&#xff01;&#x1f447;&#x…...

医学专题--多组学在药物治疗靶点筛选中的研究思路

研究背景 药物靶点&#xff08;drug target&#xff09;&#xff1a;是指药物在体内的作用结合位点&#xff0c;包括基因位点、受体、酶、离子通路、核酸等生物大分子&#xff0c;靶向药物从单靶点药物到多靶点药物都在不断进行临床探索。小分子多靶点药物因其多靶向性、高效率…...

搜索与图论总结

算法博文DFSDFS&#xff08;深度优先&#xff09;-CSDN博客BFSBFS(宽度优先)&#xff08;最短路&#xff09;-CSDN博客有向图与无向图有向图与无向图&#xff08;邻接表&#xff09;_无向图有向图邻接表_人生导师yxc的博客-CSDN博客拓扑排序topsort(拓扑排序)-CSDN博客最短路最…...

lv8 嵌入式开发-网络编程开发 15I/O多路复用及select函数

目录 1 I/O多路复用 1.1 select函数及其他接口相关介绍 1.2 原TCP—socket示例&#xff1a; 1.3 实现select函数TCP—socket示例&#xff1a; 2 练习 1 I/O多路复用 多路复用的实现方式 1.1 select函数及其他接口相关介绍 int select(int nfds, fd_set *readfds, fd_set…...

阿里云 linux tomcat 无法访问方法

1、阿里云放行tomcat端口 例如7077端口号 2、linux 命令行防火墙 设置端口打开 以下命令查看是否开启指定端口 firewall-cmd --list-ports以下命令添加指定端口让防火墙放行 firewall-cmd --zonepublic --add-port3306/tcp --permanent以下命令重新启动防火墙 systemctl re…...

公园视频监控系统如何改造?人工智能又能提供哪些帮助?

近日合肥市骆岗公园宣布正式开园&#xff0c;作为目前世界最大的城市公园&#xff0c;占地12.7万平方公里&#xff0c;如此壮观宏伟的建设&#xff0c;也吸引到了不少市民进行参观打卡。不管大型小型&#xff0c;城市里的公园都是随处可见的&#xff0c;那么&#xff0c;公园安…...

面试算法19:最多删除一个字符得到回文

题目 给定一个字符串&#xff0c;请判断如果最多从字符串中删除一个字符能不能得到一个回文字符串。例如&#xff0c;如果输入字符串"abca"&#xff0c;由于删除字符’b’或’c’就能得到一个回文字符串&#xff0c;因此输出为true。 分析 本题还是从字符串的两端…...

H5+Css3文本溢出添加省略号(包括插件)

一、单行 溢出隐藏 添加省略号 p{overflow: hidden;text-overflow:ellipsis;white-space: nowrap; }二、多行 溢出隐藏 省略号 p{display: -webkit-box;-webkit-box-orient: vertical;/*设置省略号在容器第四行文本后*/-webkit-line-clamp: 4; overflow: hidden; }局限性&…...

将休眠镜像文件hiberfil.sys移动到D盘,可以减少C盘好几个G的空间占用

hiberfil.sys是什么文件&#xff1f; 该文件是开启休眠功能后&#xff0c;系统自动生成的内存镜像文件&#xff0c;以便我们唤醒电脑之后可以快速开启程序。 1、首先打开电脑&#xff0c;使用“windowsR”组合键进入运行&#xff0c;输入“regedit”命令。 2、在注册表编辑器中…...

YTM32的模数转换器ADC外设模块详解

文章目录 简介原理与机制ADC转换器的上下电和省电模式ADC转换结果和FIFOADC转换队列的工作模式ADC转换器的触发信号ADC转换器的看门狗中断事件和DMA 应用要点&#xff08;软件&#xff09;总结参考文献 简介 YTM32的ADC转换器外设最多可以集成32个输入通道&#xff0c;最高12b…...

前端vue学习笔记——Vuex

1.概念 在Vue中实现集中式状态&#xff08;数据&#xff09;管理的一个Vue插件&#xff0c;对vue应用中多个组件的共享状态进行集中式的管理&#xff08;读/写&#xff09;&#xff0c;也是一种组件间通信的方式&#xff0c;且适用于任意组件间通信。 2.何时使用&#xff1f;…...

广东建设厅的工程造价网站/电商平台怎么运营的

1、this.$off(a) // 解绑一个事件 2、this.$off([a,b]) // 同时解绑a 和 b两个事件 3、this.$off() 解绑所有事件...

做淘宝客最大的网站是叫什么名字/百度品牌专区

前言&#xff1a;要实现自动扫描依赖注入&#xff0c;我们要先安装下面这两个nuget包 Autofac Autofac.Extensions.DependencyInjection新建两个文件夹IService用于存放接口&#xff0c;里面存放有IEnd和IOperation两个接口类&#xff0c;Service用于存放实现类&#xff0c;存…...

智能营销云/惠州关键词排名优化

为什么图形卡面板显示不支持HDCP的显示器-这意味着您使用的显示器不支持hdcp技术&#xff0c;如果更换支持hdcp技术的显示器&#xff0c;则不会显示此提示。 1. hdcp代表高带宽数字内容保护&#xff0c;中文名称是高带宽数字内容保护技术。 2.在hdtv(高清电视)时代&#xff0c;…...

css3网站/seo外包公司兴田德润官方地址

trainorg[‘totaltt’]trainorg.apply(lambda x:x[7:17].sum(),axis1) trainorg[‘totalmax’]trainorg.apply(lambda x:x[7:17].max(),axis1) trainorg[‘totalmin’]trainorg.apply(lambda x:x[7:17].min(),axis1)...

企业做网站的目的/网络营销项目策划

ecshop的includes下面的lib开头相关函数文件 1.lib_article.php (文章及文章分类相关函数库) function get_cat_articles($cat_id, $page 1, $size 20 ,$requirement) 获得文章分类下的文章列表 function get_article_count($cat_id ,$requirement) 获得指定分类下的文章总…...

网站建设特点/域名停靠

发现之前的模型保存了然后再加载是加载不了的&#xff0c;就这个问题折腾了好久&#xff0c;因为速率设置的特别小&#xff0c;所以收敛速率特别的慢。后来经过改进&#xff0c;不到十分钟就能跑出百分之97的准确率&#xff0c;修正后的代码如下。 转载于:https://www.cnblogs.…...