题目:
实现一个 MyCalendar 类来存放你的日程安排。如果要添加的日程安排不会造成 重复预订 ,则可以存储这个新的日程安排。

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

日程可以用一对整数 start 和 end 表示,这里的时间是半开区间,即 [start, end), 实数 x 的范围为, start <= x < end 。

实现 MyCalendar 类:

MyCalendar() 初始化日历对象。
boolean book(int start, int end) 如果可以将日程安排成功添加到日历中而不会导致重复预订,返回 true 。否则,返回 false 并且不要将该日程安排添加到日历中。

示例:

输入:
[“MyCalendar”, “book”, “book”, “book”]
[[], [10, 20], [15, 25], [20, 30]]
输出:
[null, true, false, true]

解释:
MyCalendar myCalendar = new MyCalendar();
myCalendar.book(10, 20); // return True
myCalendar.book(15, 25); // return False ,这个日程安排不能添加到日历中,因为时间 15 已经被另一个日程安排预订了。
myCalendar.book(20, 30); // return True ,这个日程安排可以添加到日历中,因为第一个日程安排预订的每个时间都小于 20 ,且不包含时间 20 。

提示:

0 <= start < end <= 109
每个测试用例,调用 book 方法的次数最多不超过 1000 次。

答案:

class MyCalendar {private TreeMap<Integer, Integer> map = new TreeMap<>();public MyCalendar() {}public boolean book(int start, int end) {if (lf != null && map.get(lf) > start)return false;map.put(start, end);return true;}
}/*** Your MyCalendar object will be instantiated and called as such:* MyCalendar obj = new MyCalendar();* boolean param_1 = obj.book(start,end);*/

【力扣】729. 我的日程安排表 I相关推荐

  1. 力扣 729. 我的日程安排表 I

    题目来源:https://leetcode.cn/problems/my-calendar-i/ 大致题意: 设置一个 MyCalendar 类,包含以下功能: MyCalendar() 初始化日历对 ...

  2. 力扣:我的日程安排表I

    package com.算法专练.力扣.我的日程安排表I;import java.util.ArrayList; import java.util.List;/*** @author xnl* @De ...

  3. 力扣 731. 我的日程安排表 II

    题目来源:https://leetcode.cn/problems/my-calendar-ii/ 大致题意: 设计一个日程类 MyCalendar,包含以下功能: 有一个 book(int star ...

  4. ​力扣解法汇总731-我的日程安排表 II

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

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

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

  6. LeetCode 729. 我的日程安排表 I(set 二分查找)

    文章目录 1. 题目 2. 解题 2.1 set 二分查找 2.2 差分思想 1. 题目 实现一个 MyCalendar 类来存放你的日程安排.如果要添加的时间内没有其他安排,则可以存储这个新的日程安 ...

  7. 力扣编程题-解法汇总

    一.力扣链接: 题库 - 力扣 (LeetCode) 全球极客挚爱的技术成长平台 备注:以后每个工作日从前往后刷一道题,然后再加一道每日新题.每天两道题. 二.模版: 标题: 力扣解法汇总5-正则表达 ...

  8. LeetCode 力扣算法题解汇总,All in One

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: https://fuxuemingzhu.cn 关键词:LeetCode,力扣,算法,题解,汇总,解析 把自己刷过的所有题目做一个整理, ...

  9. 力扣小练习(Java)

    目录 797.回溯,dfs 进制转换 232栈,队列 41 13dfs 7递归 343,dp 3,滑动窗口 76,最小覆盖字串<滑动窗口> 239,滑动窗口最大值 59,螺旋矩阵Ⅱ 螺旋矩 ...

  10. 力扣1002.查找常用字符

    力扣 1002. 查找常用字符 本人力扣练习已上传至码云,可互相学习借鉴. 难度-简单 题目: 给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表 ...

最新文章

  1. 计算机网络共享打不开,网络和共享中心打不开,共享无法访问没有权限
  2. 边做边思考,谷歌大脑提出并发RL算法,机械臂抓取速度提高一倍!
  3. ios 中的小技巧 - 总有你想要的 一
  4. vue xunidom_vue的虚拟dom(Virtual DOM )
  5. 前端学习(2593):清除vuex的数据和sessionstrage数据
  6. win10 vscode 无法激活python 虚拟环境的解决办法
  7. HTML+CSS+JS实现 ❤️ 宇宙星球旋转动画特效❤️
  8. 信号回勾产生的原因_为什么照片放大会有噪点?产生噪点的4个因素,来了解一下...
  9. 第五章 Spring3.0 、Hibernate3.3与Struts2的整合 基于Annotation
  10. 百万年薪挖了个P7程序员,难道是“水货”?
  11. c php乱码,Cknife的PHP功能部分修正,解决SHELL无法回显以及中文乱码
  12. hibernate继承(转)
  13. 做计算机用英语怎么读,计算机英语怎么读
  14. 解决宝塔面板开启HTTS后,Edge不能访问的问题
  15. win10 生成Android 的 keystore 文件
  16. 一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
  17. 通过一张照片查对方位置
  18. 基于Visual Question Answerin的视觉图像文本图像处理系统 设计报告+Python设计源码
  19. CSS相关知识【黑马程序员前端】
  20. Geoserver发布wms地图服务的样式制作(地图工具篇.4)

热门文章

  1. java中synchronized锁的升级(偏向锁、轻量级锁及重量级锁)
  2. App Widget
  3. REST API示例
  4. 浏览器搜索引擎(SEO)优化
  5. 【第181期】恭喜KKasier入职游戏策划:主策和制作人有啥区别
  6. java环境的搭建及环境变量的配置
  7. Pomotroid 使用指南:一款高颜值 PC 端番茄时钟
  8. element 表格内显示图片
  9. you ll just never know
  10. 杭电OJ 1159(C++)