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;
    }
}
相关推荐
ZealSinger几秒前
Java虚拟线程上线后瓶颈转移到哪看三层
java·开发语言·firefox
2601_961133286 分钟前
盘立方软件指标文华期货公式下载
java
蜗牛互联网13 分钟前
长任务多Agent共享文件系统的Manifest交接模式
java·人工智能·后端
Sirens.35 分钟前
Java并发锁详解:六类锁策略与 synchronized 底层原理
java·前端·算法
lvwangshu1 小时前
T2 最长上升子序列(lis)题解
动态规划·题解·技巧·性质题·思维好题
sunshine22 girl1 小时前
Java学习五 面向对象高级5 内部类1
java·学习
lvwangshu2 小时前
T1 称重(weight)题解
题解·贪心·总结·技巧·性质题·思维好题
用户1305180712153 小时前
JDBC学习DAY2:从Statement到PreparedStatement
java
蛋蛋的就会顺顺的3 小时前
hot100——矩阵
java·数据结构·算法·leetcode·力扣
周杰偷奶茶3 小时前
【Java】数组的定义和使用(附管理系统实战案例)
java·开发语言