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

[Leetcode] [讨论讨论,加米加米] Leetcode 621 Task Scheduler 任务行程表

全局:

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

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

x
这里主要讨论这个帖子的解法一:https://www.cnblogs.com/grandyang/p/7098764.html。 (LZ一直都是用解法二“数空位(idle)”做的,感觉逻辑上更容易理解)
在解答的末尾解释了为什么公式(mx - 1) * (n + 1) + 25 - i要和len取max,但是我觉得理由不是很充分:
===============================================================================
好,那么此时你可能会有疑问,为啥还要跟原任务个数len相比,取较大值呢?我们再来看一个例子:

AAABBB 0

A和B都出现了3次,最多,mx=3,那么可以分为mx-1=2块,如下:

ABAB

每块有n+1=1个?你会发现有问题,这里明明每块有两个啊,为啥这里算出来n+1=1呢,因为给的n=0,这有没有矛盾呢,没有!因为n表示相同的任务间需要间隔的个数,那么既然这里为0了,说明相同的任务可以放在一起,这里就没有任何限制了,我们只需要执行完所有的任务就可以了,所以我们最终的返回结果一定不能小于任务的总个数len的,这就是要对比取较大值的原因了。

==============================================================================
有同学理解这里在什么情形取len,什么情形取(mx - 1) * (n + 1) + 25 - i)吗?

注:一个情形是有可能出现频率最大的字母个数count大于n+1。
  例子: AAABBBCCCDDDEE 2
这里 A B C D都出现3次。count=3, mx = 4, n+1=3在这种情况下直观来看原任务个数len就是答案.



评分

参与人数 1大米 +5 收起 理由
14417335 + 5 很有用的信息!

查看全部评分


上一篇:行人自行车匹配
下一篇:最方便的寓所
推荐
337845818 2019-3-28 01:23:07 | 只看该作者
全局:
就是一堆零碎的task, 且不是maximum frequency的, 公式里面不会算到, 要考虑一下..
回复

使用道具 举报

🔗
chenchen628 2019-3-27 21:36:03 | 只看该作者
全局:
这个问题我是这么考虑的,假设最多的是A,有n个,那么把A摆上以后会是
AXXXAXXXAXXXA ...... AXXXAXXXXXX
X 为 空格,最后可以理解为有无数空格。

这个时候我们把剩下的task由数量多的往少的开始往里面放,比如B开始往里面放,就依次一个空格放一个,如果和A一样多那就后面也放一个
1. 假如B和A一样多,那就一个空档一个,后面追加一个
2. 假如B比A少一个,那就一个空档一个
3. 假如B以及B以后的C,D等等都比A少两个以上,那么一个空档接着一个空档的往里面放,一定不会出现放置最后一个C的空档与放置第一个C的空档相邻的情况,类似如下C的情况,我们放置了3个B后开始放C,由于放了3个B,C最多3个,而A至少有5个,最后一个C的空档与第一个C的空档会隔着一个,所以一定是安全的。
A BCX A BCX A BXX A CXX A XXX
如果接着往里面放D就会是
A BCD A BCX A BDX A CDX A XXX

这就意味着,我们一定可以一个接一个的没有空格的往空档里放元素,直到所有空档放满为止。
接下来如果还有剩下的元素,就一个空档一个空档的往里面加元素,使空档更长。

所以我们可以发现只要元素的总数能够填满所有A留下的空档,那么我们一定有办法可以一个一个的放置满,从而达到len长度的schedule。只有当元素总数不够填满最基础的A的空档的时候需要用到另外的求解方式。

评分

参与人数 2大米 +4 收起 理由
cain1993 + 2 给你点个赞!
hhhboy + 2 给你点个赞!

查看全部评分

回复

使用道具 举报

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

本版积分规则

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