首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >贪婪算法正确性

贪婪算法正确性
EN

Stack Overflow用户
提问于 2019-05-31 19:49:44
回答 1查看 37关注 0票数 0

我试图解决以下问题:

首席执行官每天定期检查员工(例如,轮班后的分钟数( started> {5,35,120.}))。计算员工应该在什么时候工作,这样每次CEO检查他们时,他们都在工作。他们的工作需要3分钟才能完成,每次工作再增加3分钟(第一次工作3分钟,第二次工作6分钟,第三次工作9分钟)。

这是我的伪码算法:

代码语言:javascript
复制
int time = 2
for: every CEOcheckTime in 0 to CEOcheckTime.length
    add (CEOcheckTimes-time) to results
    time = time + 2

忽略边缘的情况,在这种情况下,首席执行官检查员工是否能够尽快完成工作,我的算法正确吗?谢谢!

EN

回答 1

Stack Overflow用户

发布于 2019-05-31 20:23:44

忽略“边缘情况”,这似乎很好,除非您的时间是增加2,而不是3,按照规范。

代码语言:javascript
复制
 int time = 3
 for: every CEOcheckTime in CEOcheckTimes
     add (CEOcheckTimes-time) to results
     time = time + 3

在这里也可以使用类似的时间方法来解释你的边缘情况。

代码语言:javascript
复制
for: every CEOcheckTime in CEOcheckTimes
    if exists(time):
        if last(results) + time < CEOcheckTime:
            add (CEOcheckTimes) to results
            time = time + 3
    else:
         add (CEOcheckTimes) to results
         time = 3

编辑:我已经假设,如果工作开始/结束的同时进行检查,这就算作工作了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56400980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档