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;
    }
}
相关推荐
py有趣8 分钟前
LeetCode算法学习之移动0
学习·算法·leetcode
百锦再14 分钟前
Go与Python在AI大模型开发中的深度对比分析
java·开发语言·人工智能·python·学习·golang·maven
熬了夜的程序员15 分钟前
【LeetCode】90. 子集 II
数据结构·算法·leetcode·链表·职场和发展·排序算法
Espresso Macchiato18 分钟前
Leetcode 3729. Count Distinct Subarrays Divisible by K in Sorted Array
leetcode·leetcode hard·容斥原理·leetcode 3729·leetcode周赛473·前序和数组
带刺的坐椅19 分钟前
Solon (可替换 SpringBoot)集成 Docker 实战:30分钟搞定轻量级应用容器化部署
java·docker·jar·springboot·solon
计算机学姐22 分钟前
基于SpringBoo+Vue的医院预约挂号管理系统【个性化推荐算法+可视化统计】
java·vue.js·spring boot·mysql·intellij-idea·mybatis·推荐算法
熬了夜的程序员23 分钟前
【LeetCode】91. 解码方法
算法·leetcode·链表·职场和发展·排序算法
Python私教29 分钟前
Java内置GUI开发工具详解:从AWT到JavaFX的演进之路
java·后端
计算机学姐37 分钟前
基于微信小程序的奶茶店点餐平台【2026最新】
java·vue.js·spring boot·mysql·微信小程序·小程序·mybatis
L.EscaRC38 分钟前
Spring Boot 事务管理深度解析
java·spring boot·spring