目录链接:

力扣编程题-解法汇总_分享+记录-CSDN博客

GitHub同步刷题项目:

https://github.com/September26/java-algorithms

原题链接:力扣

描述:

实现一个 MyCalendar 类来存放你的日程安排。如果要添加的时间内不会导致三重预订时,则可以存储这个新的日程安排。

MyCalendar 有一个 book(int start, int end)方法。它意味着在 start 到 end 时间内增加一个日程安排,注意,这里的时间是半开区间,即 [start, end), 实数 x 的范围为,  start <= x < end。

当三个日程安排有一些时间上的交叉时(例如三个日程安排都在同一时间内),就会产生三重预订。

每次调用 MyCalendar.book方法时,如果可以将日程安排成功添加到日历中而不会导致三重预订,返回 true。否则,返回 false 并且不要将该日程安排添加到日历中。

请按照以下步骤调用MyCalendar 类: MyCalendar cal = new MyCalendar(); MyCalendar.book(start, end)

示例:

MyCalendar();
MyCalendar.book(10, 20); // returns true
MyCalendar.book(50, 60); // returns true
MyCalendar.book(10, 40); // returns true
MyCalendar.book(5, 15); // returns false
MyCalendar.book(5, 10); // returns true
MyCalendar.book(25, 55); // returns true
解释: 
前两个日程安排可以添加至日历中。 第三个日程安排会导致双重预订,但可以添加至日历中。
第四个日程安排活动(5,15)不能添加至日历中,因为它会导致三重预订。
第五个日程安排(5,10)可以添加至日历中,因为它未使用已经双重预订的时间10。
第六个日程安排(25,55)可以添加至日历中,因为时间 [25,40] 将和第三个日程安排双重预订;
时间 [40,50] 将单独预订,时间 [50,55)将和第二个日程安排双重预订。

提示:

每个测试用例,调用 MyCalendar.book 函数最多不超过 1000次。
调用函数 MyCalendar.book(start, end)时, start 和 end 的取值范围为 [0, 10^9]。

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/my-calendar-ii
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解题思路:

代码:

public class Solution731 {public static class MyCalendarTwo {TreeMap<Integer, Integer> map = new TreeMap<>();public MyCalendarTwo() {}public boolean book(int start, int end) {map.put(start, map.getOrDefault(start, 0) + 1);map.put(end, map.getOrDefault(end, 0) - 1);int ans = 0;for (Map.Entry<Integer, Integer> entry : map.entrySet()) {Integer value = entry.getValue();ans += value;if (ans > 2) {//不能加要移除map.put(start, map.getOrDefault(start, 0) - 1);map.put(end, map.getOrDefault(end, 0) + 1);return false;}}return true;}}
}

​力扣解法汇总731-我的日程安排表 II相关推荐

  1. ​力扣解法汇总522-最长特殊序列 II

    目录链接: 力扣编程题-解法汇总_分享+记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接:力扣 描 ...

  2. ​力扣解法汇总732-我的日程安排表 III

    目录链接: 力扣编程题-解法汇总_分享+记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接:力扣 描 ...

  3. ​力扣解法汇总954-二倍数对数组

    目录链接: 力扣编程题-解法汇总_分享+记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接:力扣 描 ...

  4. ​力扣解法汇总728-自除数

    目录链接: 力扣编程题-解法汇总_分享+记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接: 力扣 ...

  5. 力扣解法汇总2043-简易银行系统

    目录链接: 力扣编程题-解法汇总_分享+记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms https://g ...

  6. ​力扣解法汇总2315. 统计星号

    目录链接: 力扣编程题-解法汇总_分享+记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接:力扣 描 ...

  7. 力扣解法汇总720-词典中最长的单词

    目录链接: 力扣编程题-解法汇总_分享+记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms https://g ...

  8. ​力扣解法汇总764. 最大加号标志

    目录链接: 力扣编程题-解法汇总_分享+记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接:力扣 描 ...

  9. ​力扣解法汇总606-根据二叉树创建字符串

    目录链接: 力扣编程题-解法汇总_分享+记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms https://g ...

最新文章

  1. windows下的cmd命令(全面)
  2. 计算机系统结构总概,计算机系统结构概论
  3. C++虚继承(九) --- 构造函数调用顺序的实用之处
  4. SAP CRM呼叫中心polling and C4C notification polling
  5. 2020年市场最缺什么_2020年聚合氯化铝市场评述
  6. [51nod1773]A国的贸易
  7. C++设计模式-使用Qt框架采用简单工厂模式实现商城打折满减案例
  8. 对!这就是你要的pandas练习题(❤️❤️)
  9. 余承东卸任华为云CEO 兼任智能汽车解决方案 BU CEO
  10. ASP.NET Linux部署(2) - MS Owin + WebApi + Mono + Jexus
  11. 20165205 2017-2018-2 《Java程序设计》第六周学习总结
  12. java sybase数据库连接_在JAVA中连接Sybase数据库(例子)
  13. 自动将视频文件生成字幕的软件autosub安装及使用(支持英文、日语和法语)
  14. 我,30岁,部队服役5年,零基础转大数据
  15. html化学式编辑器,化学反应方程式编辑器软件(ChemDraw Pro)
  16. IDEA右键菜单管理--懒人专用
  17. [NOTE] NFS 和TFTP安装与配置
  18. Pycharm放大缩小,快捷键控制
  19. 京东实习测开HR面(过)
  20. react 返回一个页面_react项目中实现返回不刷新

热门文章

  1. centerandzoom 无效_Django调用百度地图api在地图上批量增加标记点
  2. 可怕的乖孩子_你知道乖孩子的一生,有多可怕吗?
  3. 【工程】Pulp-Amply(三)
  4. Numbers of source Raster bands and source color space components do not match异常的处理
  5. 华硕M5A78L-MLX3PLUS羿龙IIX4(3424元)家用学习型装机配置
  6. 墨天轮沙龙 | 北京大学李文杰:面向知识图谱应用的图数据库系统gStore
  7. PHP源生数据分页显示
  8. halcon学习教程2-相机畸变矫正
  9. 现代计算机基本工作原理,计算机基本原理
  10. Spring cloud系列十八 Spring Cloud 从Dalston.SR5到Greenwich.SR1 的升级记录