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;
    }
}
相关推荐
Le1Yu3 分钟前
抢单和派单(超卖问题;ES、Mysql、Redis同步问题;责任链模式)
java
元亓亓亓6 分钟前
LeetCode热题100--215. 数组中的第K个最大元素--中等
算法·leetcode·职场和发展
CoderYanger11 分钟前
C.滑动窗口-求子数组个数-越长越合法——2962. 统计最大元素出现至少 K 次的子数组
java·数据结构·算法·leetcode·职场和发展
小满、16 分钟前
Redis:高级数据结构与进阶特性(Bitmaps、HyperLogLog、GEO、Pub/Sub、Stream、Lua、Module)
java·数据结构·数据库·redis·redis 高级特性
嘟嘟w22 分钟前
双亲委派的概念
java·后端·spring
alphaTao24 分钟前
LeetCode 每日一题 2025/12/8-2025/12/14
算法·leetcode
SunnyDays101124 分钟前
如何在 Java 中将 RTF 转换为 PDF (含批量转换)
java·rtf转pdf
IT_Octopus25 分钟前
java <T> 是什么?
java·开发语言
月明长歌28 分钟前
【码道初阶】Leetcode面试题02.04:分割链表[中等难度]
java·数据结构·算法·leetcode·链表
如竟没有火炬29 分钟前
快乐数——哈希表
数据结构·python·算法·leetcode·散列表