首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

golang刷leetcode 技巧(7) 我的日程安排表 I

它意味着在 start 到 end 时间内增加一个日程安排,注意,这里的时间是半开区间,即 [start, end), 实数 x 的范围为, start <= x < end。...当两个日程安排有一些时间上的交叉时(例如两个日程安排都在同一时间内),就会产生重复预订。...每次调用 MyCalendar.book方法时,如果可以将日程安排成功添加到日历中而不会导致重复预订,返回 true。否则,返回 false 并且不要将该日程安排添加到日历中。...第二个日程安排不能添加到日历中,因为时间 15 已经被第一个日程安排预定了。 第三个日程安排可以添加到日历中,因为第一个日程安排并不包含时间 20 。...实现一个 MyCalendar 类来存放你的日程安排。如果要添加的时间内没有其他安排,则可以存储这个新的日程安排。

32010

golang刷leetcode 技巧(8) 我的日程安排表 II(III)

实现一个 MyCalendar 类来存放你的日程安排。如果要添加的时间内不会导致三重预订时,则可以存储这个新的日程安排。...当三个日程安排有一些时间上的交叉时(例如三个日程安排都在同一时间内),就会产生三重预订。...第三个日程安排会导致双重预订,但可以添加至日历中。 第四个日程安排活动(5,15)不能添加至日历中,因为它会导致三重预订。...第六个日程安排(25,55)可以添加至日历中,因为时间 [25,40] 将和第三个日程安排双重预订; 时间 [40,50] 将单独预订,时间 [50,55)将和第二个日程安排双重预订。...第三个日程安排[10,40]与第一个日程安排相交,最高的K次预订为2。 其余的日程安排的最高K次预订仅为3。

31010
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    我的日程安排表 II(难度:中等)

    一、题目 实现一个 MyCalendar 类来存放你的日程安排。如果要添加的时间内不会导致三重预订时,则可以存储这个新的日程安排。...当三个日程安排有一些时间上的交叉时(例如三个日程安排都在同一时间内),就会产生三重预订。...第三个日程安排会导致双重预订,但可以添加至日历中。 • 第四个日程安排活动(5,15)不能添加至日历中,因为它会导致三重预订。...• 第六个日程安排(25,55)可以添加至日历中,因为时间 [25,40] 将和第三个日程安排双重预订; • 时间 [40,50] 将单独预订,时间 [50,55)将和第二个日程安排双重预订。...我的日程安排表 II */ class MyCalendarTwo { private static int START = 0; // 开始区间0 private static int

    28820

    我的日程安排表 III(差分思想)

    题目 实现一个 MyCalendar 类来存放你的日程安排,你可以一直添加新的日程安排。 MyCalendar 有一个 book(int start, int end)方法。...当 K 个日程安排有一些时间上的交叉时(例如K个日程安排都在同一时间内),就会产生 K 次预订。 每次调用 MyCalendar.book方法时,返回一个整数 K ,表示最大的 K 次预订。...第三个日程安排[10,40]与第一个日程安排相交,最高的K次预订为2。 其余的日程安排的最高K次预订仅为3。...我的日程安排表 I(set 二分查找) LeetCode 731....我的日程安排表 II(set二分查找 / 差分思想) 本题更好的解法是线段树(写不来) 用差分思想做 class MyCalendarThree { map m; public

    59520

    leetcode刷题之线段树惰性传播

    leetcode刷题之线段树惰性传播 0.导语 今天刷题难度为困难,题目是:我的日程安排表 III,题号是732。 本节则主要采用图与树这两种数据结构解决本题。 树指的是我从来没听过的线段树。...1.题目 实现一个 MyCalendar 类来存放你的日程安排,你可以一直添加新的日程安排。 MyCalendar 有一个 book(int start, int end)方法。...它意味着在start到end时间内增加一个日程安排,注意,这里的时间是半开区间,即 [start, end), 实数 x 的范围为, start <= x < end。...当 K 个日程安排有一些时间上的交叉时(例如K个日程安排都在同一时间内),就会产生 K 次预订。 每次调用 MyCalendar.book方法时,返回一个整数 K ,表示最大的 K 次预订。...第三个日程安排[10,40]与第一个日程安排相交,最高的K次预订为2。 其余的日程安排的最高K次预订仅为3。

    76730
    领券