力扣第243周周赛(下)

  • 题目
  • 思路与算法
  • 代码实现
  • 写在最后

题目

    1. 使用服务器处理任务
    1. 准时抵达会议现场的最小跳过休息次数

思路与算法

    1. 使用服务器处理任务:典型双堆问题,逻辑清晰即可写出代码,今天两题使用Java来写
    1. 准时抵达会议现场的最小跳过休息次数:不太经典的dp,注意动态转移方程的分析过程,代码中需要注意浮点运算不要超出范围。其余的正常书写即可。

代码实现

  1. 使用服务器处理任务
class Solution {// int数组:0存放索引,1存放权重,2存放最后一次任务结束时间public int[] assignTasks(int[] servers, int[] tasks) {PriorityQueue<int[]> allServer = new PriorityQueue<>(new Comparator<int[]>(){@Overridepublic int compare(int [] o1, int [] o2) {if(o1[2] != o2[2]) return o1[2] - o2[2];else{if(o1[1] != o2[1]) return o1[1] - o2[1];else return o1[0] - o2[0];}}});PriorityQueue<int[]> freeServer = new PriorityQueue<>(new Comparator<int[]>(){@Overridepublic int compare(int [] o1, int [] o2) {if(o1[1] != o2[1]) return o1[1] - o2[1];else return o1[0] - o2[0];              }});for(int i = 0; i < servers.length; i++)  allServer.add(new int[]{i, servers[i], 0});int temp[];int time = 0;for(int i = 0; i < tasks.length; i++){   // 服务器可用时,按顺序添加ready的服务器  while(allServer.size() != 0 && allServer.peek()[2] <= time)freeServer.add(allServer.poll());// 如果当前空闲的Server列表为空,则需要等待下一台可以使用的serverif(freeServer.size() == 0){temp = allServer.poll();time = temp[2];       }else temp = freeServer.poll();// 每次更新当前最先ready的服务器的结束时间,并且回收该服务器到服务器组 temp[2] = time + tasks[i];allServer.add(temp);tasks[i] = temp[0];if(time <= i) time++;}return tasks;}
}
  1. 准时抵达会议现场的最小跳过休息次数
class Solution {public int minSkips(int[] dist, int speed, int hoursBefore) {int n=dist.length;long[][] dp=new long[n+1][n+1];for(int i=1;i<=n;i++){for(int j=0;j<=n;j++){dp[i][j]=Integer.MAX_VALUE;}}for(int i=1;i<=n-1;i++){for(int j=0;j<=n;j++){if(j==0){dp[i][j]=(dp[i-1][j]+dist[i-1]+speed-1)/speed*speed;}else{dp[i][j]=Math.min(dp[i-1][j-1]+dist[i-1],(dp[i-1][j]+dist[i-1]+speed-1)/speed*speed);}}}for(int i=0;i<=n;i++){if((double)(dp[n-1][i]+dist[n-1])/(double)speed<=(double)hoursBefore)return i;}return -1;}
}

写在最后

  1. 鸿蒙是真滴nb!

20210602:力扣第243周周赛(下)相关推荐

  1. 20210601:力扣第243周周赛(上)

    力扣第243周周赛(上) 题目 思路与算法 代码实现 写在最后 题目 检查某单词是否等于两单词之和 插入后的最大值 思路与算法 检查某单词是否等于两单词之和:直接转化比较即可 插入后的最大值:负数,则 ...

  2. 20211202:力扣第268周周赛(下)

    力扣第268周周赛(下) 题目 思路与算法 代码实现 写在最后 题目 区间内查询数字的频率 k 镜像数字的和 思路与算法 第三题直接map加二分即可,见代码 这个第四题看了大家的题解有直接打表的,这题 ...

  3. 20211130:力扣第267周周赛(下)

    力扣第267周周赛(下) 题目 思路与算法 代码实现 写在最后 题目 2075 解码斜向换位密码 2076.处理含限制条件的好友请求 思路与算法 第三题是一个比较简单的索引计算题,只需要将斜着放的字符 ...

  4. (补)20210623:力扣第246周周赛(下)

    力扣第246周周赛(下) 题目 思路与算法 代码实现 写在最后 题目 统计子岛屿 查询差绝对值的最小值 思路与算法 统计子岛屿 : 老DFS了,总之就是遍历题,无需多言,搜就行了. 查询差绝对值的最小 ...

  5. 20210427:力扣第238周周赛(下)

    力扣第238周周赛(下) 题目 思路与算法 代码实现 写在最后 题目 所有元音按顺序排布的最长子字符串 最高建筑高度 思路与算法 依旧是滑动窗口,再熟悉滑动窗口的写法即可. 不加解释,本题参考零神专业 ...

  6. 20210424:力扣第237周周赛(下)

    力扣第237周周赛(下) 题目 思路与算法 代码实现 写在最后 题目 单线程 CPU 所有数对按位与结果的异或和 思路与算法 第一题属于一类cpu流水线题目,实现常规方法堆加排序即可. 第二题属于数学 ...

  7. 20210218:力扣第228周周赛(下)

    力扣第228周周赛(下) 题目 思路与算法 代码实现 写在最后 题目 袋子里最少数目的球 一个图中连通三元组的最小度数 思路与算法 经典二分搜索题目,套模板,主要搞清楚如何检查遍历的每一个数是否符合不 ...

  8. 20201016:力扣第210周周赛题解(下)

    力扣第210周周赛题解(下) 题目 思路与算法 代码实现 写在最后 题目 分割两个字符串得到回文串 统计子树中城市之间最大距离 思路与算法 第三题主要逻辑通顺就行,注意分割的索引是一样的,那么判断回文 ...

  9. 20210612:力扣第244周周赛题解(上)

    力扣第244周周赛(上) 题目 思路与算法 代码实现 写在最后 题目 判断矩阵经轮转后是否一致 使数组元素相等的减少操作次数 思路与算法 判断矩阵经轮转后是否一致:本题的前置题目是这道46:.旋转图像 ...

最新文章

  1. tensorflow checkpoint文件
  2. WePY框架开发的小程序如何在微信web开发者工具中运行起来
  3. 关键词 global 和 nonlocal
  4. 队列的链式存储和实现(C语言)【队列】(8)
  5. Winform中实现ZedGraph曲线图的图像复制到剪切板、打印预览、获取图片并保存、另存为的功能
  6. (五)Struts2 标签
  7. python基础版课件_python基础课件精编版.ppt
  8. 排序:插入排序与希尔排序
  9. 特征筛选6——肯德尔相关系数筛选特征(单变量筛选)
  10. 国家网信办:督促知乎、豆瓣等20家知识社区问答平台开展自查自纠
  11. 学习面试题(day01)
  12. Ubuntu下的QQ
  13. java作用域public ,private ,protected 及不写时的区别(转)
  14. 编写一个matlab矩阵函数,MATLAB矩阵 及图像函数
  15. TensorFlow c++ dump graph to pbtxt
  16. 定性分析与定量分析的区别
  17. 2021-08-11BUU-CTF:[WUSTCTF2020]alison_likes_jojo
  18. dell笔记本外接显示器_笔记本连接显示器怎么设置【图文教程】
  19. python初学者入门小项目之一:在 cowpy中增加自己的人物头像
  20. 算法细节系列(20):Word Ladder系列

热门文章

  1. 百度举办区块链论坛,携手多伙伴加速区块链产业落地
  2. 微信成最频繁网络诈骗犯罪工具;库克再谈乔布斯;PyCharm 2019.2.5 发布| 极客头条...
  3. 5G 时代,AI 如何破竹而出? | AI ProCon
  4. 吊打 IE、Firefox,谷歌 Chrome 十年封神记
  5. App 开发穷途末路?
  6. 联想危险!74 岁的创始人柳传志站了出来
  7. 超越 Windows 时代!微软 Build 大会都透露了啥?
  8. 程序员亲身体验的学历之痛
  9. 谷歌技术帮助美军方无人机识别更精准
  10. 谷歌发布 iOS 黑客工具软件,或导致 iOS 11 被越狱