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;
    }
}
相关推荐
Flynt8 分钟前
Spring Boot 3开虚拟线程,我把生产服务搞崩了两次
java·spring boot
SimonKing17 分钟前
别再盲目跑测试了,用 JaCoCo 告诉你哪些代码根本没被覆盖
java·后端·程序员
唐青枫23 分钟前
Java Grails 实战详解:用 Groovy 和 GORM 快速开发 Web 应用
java·groovy
SemiTris24 分钟前
Java 异常体系深度解析:从误区到精通
java
荣码36 分钟前
AI应用部署上线:Docker打包+API服务+监控告警,我踩了4个坑
java·python
xiaotianyuanma43 分钟前
【计算机毕业设计】基于java web的社区养老服务管理系统设计与实现
java·开发语言·课程设计
玖玥拾43 分钟前
LeetCode 80 删除有序数组中的重复项 II
算法·leetcode
青山木1 小时前
Hot 100 --- 电话号码的字母组合
java·数据结构·算法·leetcode·逻辑回归
霸道流氓气质1 小时前
Java中集成Weka 技术教程:从入门到工程实践
java·开发语言·数据挖掘
Full Stack Developme1 小时前
Tomcat 如何处理HTTP请求
java·http·tomcat