Leetcode 1834. Single-Threaded CPU [Python]
使用heap。把task按照进队列时间,持续时间,和原始的index组成新的三元组然后排序,设置一个时间T,记录当前的时间,设置一个队列,就是已经入队列的cpu待处理的任务,当tasks里的任务的时间小于等于当前时间的时候,就把tasks里的任务压到cpu的队列中,同时队列弹出一个任务后,更新时间,也就是把当前时间+队列弹出的任务的处理时间,如果cpu队列里没有任务了,且当前时间小于tasks中的最前面一个任务的入队列时间的话,则直接更新时间到tasks中最前面一个任务的入队时间,这里的小细节是一定要确保队列中已经没有任务了,否则,如果队列中还有任务,时间就还需要更新,之后才能拿新的时间去对比tasks中的最靠前的待处理任务的入队时间。
最后确保cpu队列的任务全出处理完,也就是第二个最靠外的while循环。
class Solution:def getOrder(self, tasks: List[List[int]]) -> List[int]:newtask = []for index, task in enumerate(tasks):entime, durtime = task[0], task[1]newtask.append((entime, durtime, index))newtask.sort(key = lambda x:x[0])time = newtask[0][0]que = []res = []while newtask:if not que and time < newtask[0][0]:time = newtask[0][0]while newtask and time >= newtask[0][0]:ent, dur, index = newtask.pop(0)que.append((dur, index, ent))heapq.heapify(que)if que:dur, index, ent = heapq.heappop(que)time += durres.append(index) while que:dur, index, ent = heapq.heappop(que)time += durres.append(index) return res
Leetcode 1834. Single-Threaded CPU [Python]相关推荐
- LeetCode题解(1834):单线程CPU(Python)
题目:原题链接(中等) 标签:堆.排序 解法 时间复杂度 空间复杂度 执行用时 Ans 1 (Python) O ( N l o g N ) O(NlogN) O(NlogN) O ( N ) O(N ...
- LeetCode——1834. 单线程 CPU(Single-Threaded CPU)[中等]——分析及代码(Java)
LeetCode--1834. 单线程 CPU[Single-Threaded CPU][中等]--分析及代码[Java] 一.题目 二.分析及代码 1. 优先队列 (1)思路 (2)代码 (3)结果 ...
- How is javascript asynchronous AND single threaded?
原文: https://www.sohamkamani.com/blog/2016/03/14/wrapping-your-head-around-async-programming/ ------- ...
- 多线程编程模式之Single Threaded Execution 模式
一.Single Threaded Execution 模式介绍 简单的来说,Single threaded execution 模式描述了在一种多线程环境下各个线程对于公用资源的使用方式--任一时刻 ...
- [勇者闯LeetCode] 136. Single Number
[勇者闯LeetCode] 136. Single Number Description Given an array of integers, every element appears twice ...
- LeetCode 75. Sort Colors (python一次遍历,模拟三路快排)
LeetCode 75. Sort Colors (python一次遍历,模拟三路快排) 题目分析: 本题需要实现数字只包含0,1,2的排序,并且要求一次遍历. 由于只用把数字隔离开,很容易想到快排的 ...
- LeetCode 字符串简单部分 算法 python实现
''' #2018-06-02 June Saturday the 22 week, the 153 day SZ LeetCode 字符串简单部分 算法 python实现 https://leetc ...
- 【?异或】LeetCode 260. Single Number III
LeetCode 260. Single Number III Solution1: 博客转载自:http://www.cnblogs.com/grandyang/p/4741122.html 这道题 ...
- 【异或】LeetCode 137. Single Number II
LeetCode 137. Single Number II Solution1:不会做,抄的 博客转载自:http://www.cnblogs.com/grandyang/p/4263927.htm ...
- 【异或】LeetCode 136. Single Number
LeetCode 136. Single Number Solution1:我的答案 还好异或的性质没记错,还好,还好 class Solution { public:int singleNumber ...
最新文章
- Fedora 20 安装搜狗拼音输入法
- 合并分支时有的文件删除了_GitGithub入门教程笔记(4)之分支管理一
- ELK实时日志分析平台的搭建部署及使用
- AI:PR的数学表示-传统方法PR
- 虚拟机在Hyper-V和Citrix Xenserver上的区别
- 深度学习之卷积神经网络(8)BatchNorm层
- ASP.NET Core MVC – 自定义 Tag Helpers
- 按频率对元素进行排序
- Smartfox Server 2x 在 CentOS6.3 上的搭建
- uni-app项目实现客服、用户聊天
- pandas.DataFrame.set_index
- CF1299B Aerodynamic 题解
- 无根树的计数——prufer序列
- 360手机卫士linux版,360手机卫士极速版
- python入门教材带视频_Python全套,从入门到进阶。视频,电子书
- Portapack应用开发教程(七)nrf24l01解调
- python接入支付宝接口
- WDM和WDF usb驱动不同点
- android内存问题详解--重要
- OS实战笔记(4)-- 虚拟地址和物理地址的转换
热门文章
- 你真的了解游戏设计缺陷吗?
- sklearn逻辑回归案例分析 《良/恶性乳腺癌肿瘤预测》
- 埇 mysql 不认这个字_输入法项目-用delphi生成GBK 中文编码 GBK 扩充汉字编码表(3) GBK/3: $8140 —$A0FE(部分)...
- IPSec配置与实验
- node 框架 LoopBack 教程
- GLaDOS加速网络套餐edu教育网邮箱免费使用
- 玩具总动员3中英文对白
- 机器学习课程期末综合测评
- 安装Microsoft Office 2010 提示需要安装MSXML版本6.10.1129.0 的解决
- 低版本TeamViewer下载地址是什么