Java | Leetcode Java题解之第502题IPO

题目:

题解:

java 复制代码
class Solution {
    public int findMaximizedCapital(int k, int w, int[] profits, int[] capital) {
        int n = profits.length;
        int curr = 0;
        int[][] arr = new int[n][2];

        for (int i = 0; i < n; ++i) {
            arr[i][0] = capital[i];
            arr[i][1] = profits[i];
        }
        Arrays.sort(arr, (a, b) -> a[0] - b[0]);

        PriorityQueue<Integer> pq = new PriorityQueue<>((x, y) -> y - x);
        for (int i = 0; i < k; ++i) {
            while (curr < n && arr[curr][0] <= w) {
                pq.add(arr[curr][1]);
                curr++;
            }
            if (!pq.isEmpty()) {
                w += pq.poll();
            } else {
                break;
            }
        }

        return w;
    }
}
相关推荐
林shir几秒前
Java基础1.7-数组
java·算法
好奇的菜鸟7 分钟前
Docker 一键启动:打造高效的 Java 微服务开发环境
java·docker·微服务
二十雨辰7 分钟前
[SSM]SpringMVC请求与响应
java·spring·http
wangbing11259 分钟前
平台介绍-动态更换登录背景图
java
tryxr11 分钟前
继承存在的意义、特点、使用方法
java·开发语言·接口
Jeremy爱编码26 分钟前
leetcode课程表
算法·leetcode·职场和发展
tbRNA33 分钟前
Java 基础入门易错知识点(三)
java·开发语言
努力学算法的蒟蒻1 小时前
day46(12.27)——leetcode面试经典150
算法·leetcode·面试
韩立学长1 小时前
【开题答辩实录分享】以《基于SSM的电影售票管理系统的设计与实现》为例进行选题答辩实录分享
java·spring·servlet
程序员阿鹏2 小时前
@Autowired和@Resource的区别
java·开发语言·spring