查看: 2204| 回复: 8
跳转到指定楼层
上一主题 下一主题
收起左侧

[高频题] 想请教一道scheduling的算法题

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
之前oa遇到了这道题不太会做,发上来请教一下大家

input two array arrival and departure,arrival[i] and departure[i] are i th person's arrival date and departure date respectively. Each day you can only meet one person. Find the max number of purple you can meet before they leave.

EX: arrival = {1,2,2,3}, departure = {2,2,3,4}, then return 4 because you can meet person0 on day1, person1 on day2, person2 on day3, person3 on day4. However, if arrival = {2,2,2,3}, departure = {2,3,4,4} then return 3.

之前乍一看以为是经典的interval scheduling problem用greedy select earliest end time的,但这道题不一样那么做是不对的,想问问大家有什么想法吗?

上一篇:LeetCode 大厂近6个月高频题
下一篇:AVG of last K elements, 去掉最大和最小的5%
全局:
isabuster1127 发表于 2019/11/23 02:23:37
这道题应该是一个matching problem啊, 如果greedy select 的话像是[1,5],[2,2],[...
如果当前只有一个interval , 选当前的interval, 否则选end最小的
day1: 选[1,5]
2:[2,2]
3:[3,4]
4:[4,4]
5:[4,5]
回复

使用道具 举报

🔗
WKelvinson 2019-11-22 13:31:20 | 只看该作者
全局:
这不就是按照结束时间的Greedy Algorithm吗?没明白哪里不一样了?
回复

使用道具 举报

🔗
lyronly 2019-11-22 18:07:16 来自APP | 只看该作者
全局:
1 所有区间数组 按 arrival 排升序,如果arrival相同按departute 排
2 index =0 开始  维护一个包含当前index的所有区间的heap,heap 按照 departure排序
set里所有 departure < index 的出堆删除
当前 区间arrival==index的入堆 ,从区间数组中删除
此时heap 不为空的话 count++ 然后pop departure最小的区间
3 if heap 不为空 index++
    else index为区间数组的 最小arrival
回复

使用道具 举报

🔗
anythingreally 2019-11-22 19:05:27 | 只看该作者
全局:
DP + backtracking ~= bruce force
回复

使用道具 举报

🔗
seamelody 2019-11-22 22:21:18 | 只看该作者
全局:
LC類題就是 1235
回复

使用道具 举报

🔗
onerhao 2019-11-22 23:44:43 来自APP | 只看该作者
全局:
就是greedy吧
暴力搜索应该是超时的
回复

使用道具 举报

🔗
 楼主| isabuster1127 2019-11-23 02:23:37 | 只看该作者
全局:
WKelvinson 发表于 2019-11-22 13:31
这不就是按照结束时间的Greedy Algorithm吗?没明白哪里不一样了?

这道题应该是一个matching problem啊, 如果greedy select 的话像是[1,5],[2,2],[3,4],[4,4][4,5]你每次select以后怎么判断你要用这个interval里的哪一天呢?如果最后选到[1,5]optimal情况下这个人安排在第一天,但你是最后一个select到这个interval的,不可能去loop一遍找哪天还没有被安排过吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表