题解 | #牛奶供应问题#

牛奶供应问题

https://www.nowcoder.com/practice/8c66c9b7deea496193e609b70f39783d

看了好几次才读懂题,如示例1[3, 2, 4, 1, 5],3 ; 这个可以将capacity看作3个执行流,每次可以同时执行3个;比如第一次 3 2 4,同时执行2个任务后为1 0 2,将2保存下来,然后向后遍历taskDurations数组,加入1,即为1 1 2,同时减1 -> 0 0 1,将1记下来,加入5,即为5 0 1,最后完成任务为5;2 + 1 + 5 = 8。

题目分析:用一个数组v表示执行流,然后找v中的最小值和最小值的下标(也就是最先完成的执行流),然后遍历animalTaskScheduler数组,最后找出v中最大值即可。当某时v中有好几个0时,这时也不需要关心,因为找到0,times+0=times,时间是不变的。思路简单,效率不高。

#include <climits>
#include <ctime>
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param taskDurations int整型vector 
     * @param capacity int整型 
     * @return int整型
     */
    int animalTaskScheduler(vector<int>& taskDurations, int capacity) {
        // write code here
        int times = 0;
        vector<int> v(capacity);
        for (int i = 0; i < taskDurations.size(); ++i)
        {
            int k = 0, small = INT_MAX; //k记录最小下标,small记录同时执行任务的最小值
            for (int j = 0; j < capacity; ++j)
            {
                if (v[j] < small)
                {
                    small = v[j];
                    k = j;
                }
            }
            times += small;
            for (auto& x : v) //执行的每个任务减去small
                x -= small;
            v[k] = taskDurations[i];
        }
	  	//找出v中最大值
        int mx = -1;
        for (auto& x : v)
            mx = max(mx, x);
        times += mx;
        
        return times;
    }
};

全部评论

相关推荐

我是985研究生,最近学校在组织开题,大家都在非常紧张地准备,但我一直进入不了状态,很想做但是心又很浮躁。但我的室友们感觉都非常认真,每天醒来就开始看论文,睡着前最后一件事还是在看论文,我非常焦虑。我感觉自己甚至有点把大家当做假想敌了。这种比较心态还存在于生活的各种方面:看到有钱的同学会非常羡慕,看到朋友圈里面环游世界的留学生同学也会羡慕,看到那些工作后有自己的钱而过上较为阔绰的生活的时候还是羡慕,就仿佛只有自己一个人在阴暗爬行。而且这些比较是每时每刻的,为了不比较,我已经关闭了朋友圈,但是每次偶尔刷一下还是会难受很久。我知道比较是偷走幸福的小偷,但我好像控制不了,感觉自己是一个偷窥别人生活的...
若怜君欢:担心开题搞砸了,幻想拥有别人的生活,本质上是因为自卑,楼主小时候大概率是留守儿童或者父母关系很紧张,导致楼主没有安全感、焦虑、内耗。 这样的情况最好的办法就是建立自信和降低期待,建立自信不是一蹴而就,而是循序渐进,比如告诉自己允许自己第一次没把事情做好,失败了能搞清楚其中缘由而不是全盘否定自己,失败不是终点,放弃才是;降低期待只要记住一句话即可,能伴随你一生的,只有经验和学识,所以你对事情的态度应该更多地去思考它是否能带来学识和经验的增长,而不是仅仅用短期的利益作为唯一期待。 人生不是一成不变的,它是可以迭代更新的,去归纳总结自身的不足并结合实际去改进,去尝试一些新的思路和方法,不要固执钻牛角尖,也不要反复横跳,为自己设立一个高度聚集的精神内核,内核之上可以去尝试一切有利于自己更好的方式 以上就是我个人对生活的理解,共勉
点赞 评论 收藏
分享
野猪不是猪🐗:现在的环境就是这样,供远大于求。 以前卡学历,现在最高学历不够卡了,还要卡第一学历。 还是不够筛,于是还要求得有实习、不能有gap等等... 可能这个岗位总共就一个hc,筛到最后还是有十几个人满足这些要求。他们都非常优秀,各方面都很棒。 那没办法了,看那个顺眼选哪个呗。 很残酷,也很现实
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务