题解 | #牛奶供应问题#

牛奶供应问题

https://www.nowcoder.com/practice/8c66c9b7deea496193e609b70f39783d

思路

本以为要用到动态规划,其实不用,en 贪不会有什么问题。

根据 贪心策略,对于当前任务 taskDurations[i],肯定是把其安排在最早空闲的生产线上。

于是用 优先队列(大根堆) 维护每条生产线所执行时间,然后模拟即可。

时间复杂度为 ,空间复杂度为

参考代码
import java.util.*;


public class Solution {
    
    public int animalTaskScheduler (int[] taskDurations, int capacity) {
        PriorityQueue<Integer> q = new PriorityQueue<>(capacity);

        for (int i = 0; i < taskDurations.length; i++) {
            if (q.size() < capacity) {
                q.add(taskDurations[i]);
            } else {
                q.add(q.poll() + taskDurations[i]);
            }
        }

        int ans = 0;
        while (!q.isEmpty()) {
            ans = Math.max(ans, q.poll());
        }
        return ans;
    }
}
全部评论

相关推荐

面试拷打成m:我感觉他说的挺对的,感觉我找不到工作也要去送外卖了,至少饿不死
点赞 评论 收藏
分享
珩珺:那些经历都太大太空了,实习的情况不了解,大创项目连名字、背景、目的及意义都没体现出来;地摊经济更是看完连卖的什么产品都不知道,项目成果直接写营收多少都更直观真实一点;后面那个校文体部的更是工作内容是组织活动整理流程,成果变成了当志愿者,而且你们学校本科学生会大一入学就直接当部长吗,志愿里面还提到了疫情防控,全面解封是22年12月的事情,可能时间上也有冲突。可能你花了钱人家就用AI给你随便写了点内容改了一下,没什么体现个性化的点
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务