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

面试150 IPO

在这里插入图片描述

思路

首先,将每个项目的启动资本需求和对应的利润配对,组成一个二元组列表,并根据所需资本从小到大进行排序。这样可以确保在遍历项目列表时,能按所需资本的升序处理。接着,使用一个最大堆(通过在堆中存入利润的负值来实现)来维护当前资本下所有可选项目的利润。在每一轮(最多进行 k 轮)中,程序会将当前可承受的所有项目(即资本需求不超过当前拥有资本的项目)加入最大堆,然后从中选择利润最高的项目(堆顶元素),执行该项目并将其利润加到当前资本上。如果在某一轮没有任何可执行的项目,算法会提前退出。最终,返回选择最多 k 个项目后所能获得的最大资本。该算法通过贪心策略结合堆结构,兼顾了效率和最优选择。

import heapq
from typing import Listclass Solution:def findMaximizedCapital(self, k: int, w: int, profits: List[int], capital: List[int]) -> int:num_projects = len(profits)project_list = []# 将每个项目的资本需求和对应利润配对for i in range(num_projects):project_list.append([capital[i], profits[i]])# 按所需资本升序排序project_list.sort()max_profit_heap = []  # 最大堆,用于存储可选项目的利润(取负值实现最大堆)project_index = 0available_capital = wfor _ in range(k):# 将当前资本可承受的项目加入最大堆while project_index < num_projects and project_list[project_index][0] <= available_capital:heapq.heappush(max_profit_heap, -project_list[project_index][1])project_index += 1if not max_profit_heap:break  # 没有可选项目,退出循环# 选择利润最高的项目max_profit = -heapq.heappop(max_profit_heap)available_capital += max_profitreturn available_capital
http://www.lryc.cn/news/600880.html

相关文章:

  • 达梦[-2894]:间隔表达式与分区列类型不匹配
  • 大语言模型困惑度:衡量AI语言能力的核心指标
  • Windows Server容器化应用的资源限制设置
  • 小白成长之路-部署Zabbix7(二)
  • Word文档试卷处理新方案:答案提取与格式化一键完成
  • MongoDB数据库高并发商业实践优化·运行优化之不可使用root账户进行MongoDB运行-优雅草卓伊凡
  • python面向对象编程详解
  • Django+celery异步:拿来即用,可移植性高
  • go-admin 构建arm镜像
  • (LeetCode 面试经典 150 题) 20. 有效的括号 (栈)
  • Ubuntu 18.04安装Fast-Lio2教程
  • MySQL进阶学习与初阶复习第三天
  • Windows11下和Vmware中的Ubuntu22.04设置samba服务遇到的一个问题- valid users和guest设置冲突
  • 单元测试、系统测试、集成测试知识详解
  • 深入解析命名管道:原理、实现与进程间通信应用
  • 大型微服务项目:听书——12 数据一致性自定义starter封装缓存操作
  • 2025年全国青少年信息素养大赛Scratch算法创意实践挑战赛 小低组 初赛 真题
  • Fast_Lio 修改激光雷达话题
  • C++核心编程学习--对象特性--对象模型和this指针
  • 在C#中判断两个列表数据是否相同
  • 服务器:数字世界的隐形引擎
  • C++ - 仿 RabbitMQ 实现消息队列--服务端核心模块实现(四)
  • 「iOS」————继承链与对象的结构
  • 数据结构 二叉树(3)---层序遍历二叉树
  • 系统性提升大模型回复准确率:从 RAG 到多层 Chunk 策略
  • 机器学习特征工程:特征选择及在医学影像领域的应用
  • 【AI】联网模式
  • odoo代码分析(二)
  • idea中无法删除模块,只能remove?
  • 建筑施工场景下漏检率↓76%!陌讯多模态融合算法在工程安全监控的落地实践