本专栏单纯记录自己刷题过程,便于后续重复刷题更新迭代自己对于同一道题的认知和方法。有好的刷题方法和思路,可以评论区交流,感谢~

1.但凡遇到在动态过程中取最值得要求,肯定要使用有序数据结构,常用的数据结构就是二叉堆和平衡二叉搜索树了。

set<int> s;

s.empty()

s.insert(0);

s.erase(p);

集合(set)。每个元素的值必须唯一;而且系统会根据该值来自动将数据排序;内部结构采用红黑树的平衡二叉树。

class ExamRoom {int num;set<int> s;public:ExamRoom(int n) {num = n;}int seat() {if (s.empty()){s.insert(0);return 0;}int pos = 0, pre = -1, maxDist = 0;for (int cur : s){int dist = (cur - pre) / 2;if (dist > maxDist){pos = (pre == -1 ? 0 : pre + dist);maxDist = dist;}pre = cur;}// DebugMKif (num - pre - 1 > maxDist){pos = num - 1;}s.insert(pos);return pos;}void leave(int p) {s.erase(p);}
};

LeetCode之855_考场就座相关推荐

  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 - 855】考场就座

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

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

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

  6. LeetCode 855. 考场就座

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

  7. 855. 考场就座(高频题)

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

  8. LeetCode 考场就座

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

  9. LeetCode——考场就座

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

最新文章

  1. bzoj 4871: [Shoi2017]摧毁“树状图”
  2. 使用二代矫正三代全长转录组数据
  3. Mybatis获得参数值的两种方式:#{}和${}的区别
  4. 数据库自治服务DAS论文入选全球顶会SIGMOD,领航“数据库自动驾驶”新时代
  5. k歌的录音伴奏合成技术如何实现_K歌神器,用唱吧麦克风攀登天籁高峰
  6. python io多路复用_Python之IO多路复用
  7. 面试必问:用 Java 写一个内存泄漏程序
  8. python连接mysql用哪个模块_pymysql模块使用---Python连接MySQL数据库
  9. VB高级编程之:完全子类化模仿OFFICE2007按钮
  10. IDA7.0提示Oops! internal error 1491 occured.解决办法
  11. hdwiki can not connect to mysql_HDWIKI最新版Update注入可修改管理员密码(MYSQL进制技巧)...
  12. 2008北京第29届奥运会总奖牌榜
  13. C#之父——安德斯·海尔斯伯格
  14. 面对 ESM 的开发模式,webpack 还有还手之力吗?(转载)
  15. 微信小程序 云数据库使用(下)
  16. echart整体图形大小调整
  17. WIN10 能够正常上网,但是桌面右下角却显示小地球,导致笔记本无法开移动热点
  18. 怎么压缩jp2文件?如何在线压缩jp2图片?
  19. Qt制作Aero特效
  20. 谷歌浏览器缓存无法清除?

热门文章

  1. commons-logging使用
  2. Unity 3D 物理引擎简介 || Unity 3D 物理材质|| Unity 3D 力(AddForce)
  3. 仿爱奇艺H5电影站v1.1源码
  4. Long转换为int
  5. Javascript面向对象:Object.defineProperty()与Object.defineProperties()
  6. 有多少人知道微信来电铃声可以跟更换?
  7. 忍者必须死3 通关 服务器维护,《忍者必须死3》2019年12月12日停服维护公告
  8. 回顾各种编码的创新和异同-MEPG2, MPEG4, H.264/AVC以及H.265/HEVC比较
  9. 网络教育计算机统考成绩,2021年网络教育统考成绩查询入口
  10. 什么是ZK-Rollup