LeetCode题解(1834):单线程CPU(Python)
题目:原题链接(中等)
标签:堆、排序
解法 | 时间复杂度 | 空间复杂度 | 执行用时 |
---|---|---|---|
Ans 1 (Python) | O ( N l o g N ) O(NlogN) O(NlogN) | O ( N ) O(N) O(N) | 680ms (89.37%) |
Ans 2 (Python) | |||
Ans 3 (Python) |
解法一:
import heapqclass Solution:def getOrder(self, original_tasks: List[List[int]]) -> List[int]:size = len(original_tasks)# 将下标值添加到任务中tasks = []for i in range(size):e, p = original_tasks[i]tasks.append((e, p, i))# 排序任务列表tasks.sort()waiting = [] # 等待执行的任务堆now = 0 # 当前时间:第1个任务出现的时间j = 0 # 下一个需要加入任务堆的任务下标ans = []while j < size:# 将之前已出现的任务添加到任务堆中while j < size and tasks[j][0] <= now:heapq.heappush(waiting, (tasks[j][1], tasks[j][2]))j += 1# 处理当前时间结点已没有任务的情况if not waiting:now = tasks[j][0]heapq.heappush(waiting, (tasks[j][1], tasks[j][2]))j += 1# 将相同时间点的任务添加到任务堆中while j < size and tasks[j][0] <= now:heapq.heappush(waiting, (tasks[j][1], tasks[j][2]))j += 1# 处理需要优先处理的任务p, i = heapq.heappop(waiting)now += pans.append(i)# 处理积压的任务while waiting:p, i = heapq.heappop(waiting)ans.append(i)return ans
LeetCode题解(1834):单线程CPU(Python)相关推荐
- LeetCode——1834. 单线程 CPU(Single-Threaded CPU)[中等]——分析及代码(Java)
LeetCode--1834. 单线程 CPU[Single-Threaded CPU][中等]--分析及代码[Java] 一.题目 二.分析及代码 1. 优先队列 (1)思路 (2)代码 (3)结果 ...
- LeetCode 1834. 单线程 CPU(排序 + 优先队列)
文章目录 1. 题目 2. 解题 1. 题目 给你一个二维数组 tasks ,用于表示 n 项从 0 到 n - 1 编号的任务. 其中 tasks[i] = [enqueueTimei, ...
- 【C++】LeetCode 题库 1834. 单线程 CPU
原题链接 问题描述 给你一个二维数组 tasks ,用于表示 n 项从 0 到 n - 1 编号的任务.其中 tasks[i] = [enqueueTimei, processingTim ...
- 1834 单线程 CPU(lambda表达式排序 + 优先队列)
1. 问题描述: 给你一个二维数组 tasks ,用于表示 n 项从 0 到 n - 1 编号的任务.其中 tasks[i] = [enqueueTimei, processingTime ...
- 【算法题】1834. 单线程 CPU
插: 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到网站. 坚持不懈,越努力越幸运,大家一起学习鸭~~~ 题目: 给你一个二维数组 tasks ,用于表示 ...
- 1834 单线程 CPU
题目描述: 给你一个二维数组 tasks ,用于表示 n 项从 0 到 n - 1 编号的任务.其中 tasks[i] = [enqueueTimei, processingTimei] ...
- Leetcode 1834. Single-Threaded CPU [Python]
使用heap.把task按照进队列时间,持续时间,和原始的index组成新的三元组然后排序,设置一个时间T,记录当前的时间,设置一个队列,就是已经入队列的cpu待处理的任务,当tasks里的任务的时间 ...
- LeetCode题解(1079):活字印刷(Python)
题目:原题链接(中等) 标签:回溯算法 解法 时间复杂度 空间复杂度 执行用时 Ans 1 (Python) O(N!)O(N!)O(N!) O(N!)O(N!)O(N!) 136ms (43.48% ...
- LeetCode 319. Bulb Switcher--C++,java,python 1行解法--数学题
LeetCode 319. Bulb Switcher–C++,java,python 1行解法 LeetCode题解专栏:LeetCode题解 LeetCode 所有题目总结:LeetCode 所有 ...
最新文章
- 记一次订单号的重复事故
- java 向上取整_java 中的异常处理和常用类使用
- 百度数据可视化图表套件echart实战
- CentOS 7下安装Python3.6.4
- Linux记录-TCP状态以及(TIME_WAIT/CLOSE_WAIT)分析(转载)
- 技术员联盟win11旗舰版64位系统v2021.07
- 网站图片全自动加密_外卖优惠平台内容加密参数分析!你见过一块钱买外卖的吗?...
- jquery 获取和设置 select下拉框的值
- 乘坐飞机时,有什么事情是机长和机上工作人员不想让乘客知道的?
- 服务器装win10系统,win10服务器系统
- 企业信息化规划的重要性
- 迷你上标和下标复制大全(含0~9、字母、特殊字符)
- Android上的CPU和GPU是共享内存,为什么有的手机从GPU读取数据还是很慢?
- 域自适应(Domain Adaptation)简介
- win10家庭版怎么删除多余的用户
- ▷Scratch课堂丨在Scratch上制作植物大战僵尸游戏
- 矩阵与行列式的区别 行列式简单理解(二三阶)
- 超轻薄笔记本电脑软件测试,2009年度-13英寸超轻薄笔记本年度横向评测
- 慢性疲劳免疫失调综合症(CFIDS)
- go build编译失败:imports xxx/xxx/xxx: build constraints exclude all Go files in xxx/xxx/xxx
热门文章
- 基于STM32的学习记录--MQ系列计算公式
- DevExpress WPF的电子表格组件,让您更快获得Excel体验(二)
- php 解析网页慢,网页访问变慢的原因分析及优化
- 《新版一分钟经理人》读后感
- 提出计算机工作理念的科学家,提出字节序概念的计算机科学家 Danny Cohen 逝世...
- 热带水果的收藏(三亚)
- java计算机毕业设计服装连锁店后台管理系统(附源码、数据库)
- 关于微信公众平台服务器配置Token
- linux 执行文件时提示权限不够 chmod 777
- 3天怒肝5万字!阿里P7大佬手写MySQL超全笔记,还担心学不会吗?