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;
    }
}
相关推荐
Android小码家几秒前
Vehicle 实战 自定义属性+测试demo
java·c++·framework·vhal·vehicle
范同学~几秒前
固定表头+第一列+最后一列
java·服务器·前端
随风爱学习18 分钟前
JAVA学习之异常
java
m0_6399069420 分钟前
HashMap:哈希扰动、扩容源码、红黑树转换、并发问题
java·算法·哈希算法
Roll圈圈27 分钟前
长链接太丑影响转化率?这个短链工具让你的推广链接更专业
java
神魔皆以血嗜33 分钟前
Java 存储金额
java·后端
SL_staff1 小时前
周报越厚问题越拖?用结构化执行机制让周报回归决策价值
java·spring cloud·开源
梅梅绵绵冰1 小时前
JVM虚拟机
java·开发语言·jvm
golang学习记2 小时前
Python vs Go:2026年到底该怎么选
java·vscode·python·golang·pycharm·goland
Shaoshing2 小时前
消息顺序
java·开发语言