题目:原题链接(中等)

标签:有序映射

解法 时间复杂度 空间复杂度 执行用时
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)相关推荐

  1. LeetCode解析------855.考场就座

    题目: 在考场里,一排有 N 个座位,分别编号为 0, 1, 2, -, N-1 . 当学生进入考场后,他必须坐在能够使他与离他最近的人之间的距离达到最大化的座位上.如果有多个这样的座位,他会坐在编号 ...

  2. LeetCode - OrderMap - 855.考场就座

    题目 855.考场就座 难度 中等 在考场里,一排有 N 个座位,分别编号为 0, 1, 2, -, N-1 . 当学生进入考场后,他必须坐在能够使他与离他最近的人之间的距离达到最大化的座位上.如果有 ...

  3. Leetcode 855:考场就座

    题目描述 在考场里,一排有 N 个座位,分别编号为 0, 1, 2, ..., N-1 . 当学生进入考场后,他必须坐在能够使他与离他最近的人之间的距离达到最大化的座位上.如果有多个这样的座位,他会坐 ...

  4. LeetCode题解(1079):活字印刷(Python)

    题目:原题链接(中等) 标签:回溯算法 解法 时间复杂度 空间复杂度 执行用时 Ans 1 (Python) O(N!)O(N!)O(N!) O(N!)O(N!)O(N!) 136ms (43.48% ...

  5. 【LeetCode - 855】考场就座

    文章目录 1.题目描述 2.解题思路 3.解题代码 1.题目描述 2.解题思路 初始化:定义一个 TreeSet 存储已经占有的座位号,该数据结构会自动从小到大排序: seat: 1)定义一个全局最优 ...

  6. LeetCode之855_考场就座

    本专栏单纯记录自己刷题过程,便于后续重复刷题更新迭代自己对于同一道题的认知和方法.有好的刷题方法和思路,可以评论区交流,感谢~ 1.但凡遇到在动态过程中取最值得要求,肯定要使用有序数据结构,常用的数据 ...

  7. Leetcode 855. Exam Room 考场就座:提供两种解法

    Leetcode 855. Exam Room 考场就座: 提供两种解法 855. Exam Room 考场就座(两种解法) 题目描述 示例: 解答1 代码1 解答2 代码2 855. Exam Ro ...

  8. LeetCode 855. 考场就座

    855. 考场就座 [有序集合]用TreeSet存已经选好的座位,每次遍历所有的座位,如果两个之间的差值比当前max大,那么更新max和最后落座的位置.需要特别注意特判一下开头和结尾,因为有leave ...

  9. LeetCode 319. Bulb Switcher--C++,java,python 1行解法--数学题

    LeetCode 319. Bulb Switcher–C++,java,python 1行解法 LeetCode题解专栏:LeetCode题解 LeetCode 所有题目总结:LeetCode 所有 ...

最新文章

  1. Core Graphics
  2. DNA复制体结构和工作原理首次被揭示
  3. Java性能优化技巧
  4. SSH配置优化和慢的解决方法
  5. memcache、Redis与MongoDB的学习-1
  6. SQL SERVER 数据库主键和外键的思考
  7. Oracle客户端与java_Oracle 谈 JavaFX 及 Java 客户端技术的未来
  8. 理论篇 GIT使用笔记
  9. [转载] JAVA环境变量配置
  10. 走进音视频的世界——杜比音效之AC3与AC4
  11. C#窗体标准计算器(上) 初级新手请多担待。
  12. 用CSS绘制最常见的40种形状和图形
  13. magedu.N45019第一周作业
  14. Python Django Web开发之表单
  15. iOS逆向(7)-LLDB,自制LLDB脚本,窜改微信红包金额
  16. 设置linux定时任务,linux定时任务的设置
  17. 2018 IDEA Intellij 和 DataGrip的激活方式(至10月)
  18. 微观结构到应用材料力学行为
  19. Python八个自动化办公的技巧
  20. 中国通信简史 (下)

热门文章

  1. 油烟监测仪的具体功能
  2. C# Nut Shell 第十二章 销毁对象与垃圾回收
  3. 利用DirectX 11绘制的大致流程(天空盒示例)
  4. liboqs-量子安全密码算法开源C库
  5. AutoCAD.net CurveMeasurement实例2 径向线
  6. Nacos源码阅读开篇之下载源码
  7. 单片机实例22——电子琴(硬件电路图+汇编程序+C语言程序)
  8. 10分钟带你了解项目经理和产品经理
  9. R_空间插值_必知必会(一)
  10. linux监控工具supervise的使用