LeetCode题解(0855):考场就座(Python)
题目:原题链接(中等)
标签:有序映射
解法 | 时间复杂度 | 空间复杂度 | 执行用时 |
---|---|---|---|
Ans 1 (Python) | seat = O ( N ) O(N) O(N) ; leave = O ( N ) O(N) O(N) | O ( N ) O(N) O(N) | 280ms (72.41%) |
Ans 2 (Python) | |||
Ans 3 (Python) |
解法一:
class ExamRoom:def __init__(self, n: int):self.n = nself.students = []def seat(self) -> int:if not self.students:max_idx = 0else:max_idx, max_val = 0, self.students[0]for i, s in enumerate(self.students):if i > 0:prev = self.students[i - 1]distance = (s - prev) // 2if distance > max_val:max_idx, max_val = prev + distance, distancedistance = self.n - 1 - self.students[-1]if distance > max_val:max_idx = self.n - 1bisect.insort_right(self.students, max_idx)return max_idxdef leave(self, p: int) -> None:self.students.remove(p)
LeetCode题解(0855):考场就座(Python)相关推荐
- LeetCode解析------855.考场就座
题目: 在考场里,一排有 N 个座位,分别编号为 0, 1, 2, -, N-1 . 当学生进入考场后,他必须坐在能够使他与离他最近的人之间的距离达到最大化的座位上.如果有多个这样的座位,他会坐在编号 ...
- LeetCode - OrderMap - 855.考场就座
题目 855.考场就座 难度 中等 在考场里,一排有 N 个座位,分别编号为 0, 1, 2, -, N-1 . 当学生进入考场后,他必须坐在能够使他与离他最近的人之间的距离达到最大化的座位上.如果有 ...
- Leetcode 855:考场就座
题目描述 在考场里,一排有 N 个座位,分别编号为 0, 1, 2, ..., N-1 . 当学生进入考场后,他必须坐在能够使他与离他最近的人之间的距离达到最大化的座位上.如果有多个这样的座位,他会坐 ...
- LeetCode题解(1079):活字印刷(Python)
题目:原题链接(中等) 标签:回溯算法 解法 时间复杂度 空间复杂度 执行用时 Ans 1 (Python) O(N!)O(N!)O(N!) O(N!)O(N!)O(N!) 136ms (43.48% ...
- 【LeetCode - 855】考场就座
文章目录 1.题目描述 2.解题思路 3.解题代码 1.题目描述 2.解题思路 初始化:定义一个 TreeSet 存储已经占有的座位号,该数据结构会自动从小到大排序: seat: 1)定义一个全局最优 ...
- LeetCode之855_考场就座
本专栏单纯记录自己刷题过程,便于后续重复刷题更新迭代自己对于同一道题的认知和方法.有好的刷题方法和思路,可以评论区交流,感谢~ 1.但凡遇到在动态过程中取最值得要求,肯定要使用有序数据结构,常用的数据 ...
- Leetcode 855. Exam Room 考场就座:提供两种解法
Leetcode 855. Exam Room 考场就座: 提供两种解法 855. Exam Room 考场就座(两种解法) 题目描述 示例: 解答1 代码1 解答2 代码2 855. Exam Ro ...
- LeetCode 855. 考场就座
855. 考场就座 [有序集合]用TreeSet存已经选好的座位,每次遍历所有的座位,如果两个之间的差值比当前max大,那么更新max和最后落座的位置.需要特别注意特判一下开头和结尾,因为有leave ...
- LeetCode 319. Bulb Switcher--C++,java,python 1行解法--数学题
LeetCode 319. Bulb Switcher–C++,java,python 1行解法 LeetCode题解专栏:LeetCode题解 LeetCode 所有题目总结:LeetCode 所有 ...
最新文章
- Core Graphics
- DNA复制体结构和工作原理首次被揭示
- Java性能优化技巧
- SSH配置优化和慢的解决方法
- memcache、Redis与MongoDB的学习-1
- SQL SERVER 数据库主键和外键的思考
- Oracle客户端与java_Oracle 谈 JavaFX 及 Java 客户端技术的未来
- 理论篇 GIT使用笔记
- [转载] JAVA环境变量配置
- 走进音视频的世界——杜比音效之AC3与AC4
- C#窗体标准计算器(上) 初级新手请多担待。
- 用CSS绘制最常见的40种形状和图形
- magedu.N45019第一周作业
- Python Django Web开发之表单
- iOS逆向(7)-LLDB,自制LLDB脚本,窜改微信红包金额
- 设置linux定时任务,linux定时任务的设置
- 2018 IDEA Intellij 和 DataGrip的激活方式(至10月)
- 微观结构到应用材料力学行为
- Python八个自动化办公的技巧
- 中国通信简史 (下)