题解 | 使库存平衡的最少丢弃数

题目:

题干分析:

题干为我们说明了一个类似流水线上的物品管理规定,内容拟似如下:

  • 每天流水线上会下来一个产品,类型编号为arrivals[i].
  • 每天的产品我们必须在当天决定选择保留或者丢弃.
  • 工厂要求连续w天内下线的产品同一型号最多出现m次(可理解为库存最值),超过则当天产品必须丢弃.

算法思路:

题目已经几乎明示我们使用滑动窗口进行解题,剩下的便是使用哈希表当作类型计数器,然后直接模拟即可.

需要注意的是丢弃的商品要做好标记,不要没有计入计数滑出窗口时反倒出了窗口导致计数失灵.

实现代码:

int minArrivalsToDiscard(vector<int>& arrivals, int w, int m) {
        if (m >= w) return 0;
        unordered_map<int, int> cnt;// 计数器
        int ans = 0;

        for (int i = 0; i < arrivals.size(); ++i) {
            int x = arrivals[i];
            ++cnt[x];
            if (cnt[x] > m) {
                --cnt[x];
                ++ans;
                arrivals[i] = 0; // 标记为0,防止意外出窗口(1 <= arrivals[i])
            }
            if (i >= w - 1 && arrivals[i - w + 1]) {
                --cnt[arrivals[i - w + 1]];
            }
        }

        return ans;
    }

复杂度分析:

  • 时间复杂度: 针对每个数组元素进行操作,总时间复杂度为O(n);
  • 空间复杂度: 哈希表计数消耗额外空间站主体,总空间复杂度为O(k),k为arrivals数组中编号的种数.
全部评论

相关推荐

你是一个2026年毕业生,在2025年这一年里,你经历了日常实习、暑期实习、秋招三个阶段24年12月初-25年3月:日常实习阶段,学校开始放实习了,于是你开始着手准备找日常实习,你去了解就业岗位、编写简历、投递;然后不断碰壁,又重复投递,你没有想到一个个小小的日常实习也如此难找,没有想到实习面试的难度如同正值面试,差点找实习为半而中道崩殂;终于!你在12月初找到了一份公司做产运实习,你直接从海南飞到北京,住在青旅,开启了自己的第一份实习3月你知道了牛客这个app,直接发现了新的天地,原来大家都这么优秀,这么多人早早就知道要准备暑期实习,等秋招,而你只是一个刚刚开始一段实习,感觉学不到东西想要找下一段实习的末2大学生;你告诉自己:“没关系,不焦虑,看到优秀的人更应该向他们学习”,于是你开始了解暑期实习,开始投递,练习笔试用AI模拟面试,并按照大家说的,不断修改自己的简历,终于在5月你拿到了来自美团的暑期实习的offer5月你开始去实习,遇到了好的团队好的mentor,大厂内部的学习资料很多,你上班摸鱼的时候就在刷xuecheng,实习的时候也找到了搭子在北京合租,告别了青旅住宿,感觉北京的生活越来越是你想要的状态,你下定决心一定要留在北京工作生活8月留用流程开始了,没想到收到了转正失败的坏消息...当时打击巨大,你不明白到底哪里出了问题,于是你不得不又开始准备秋招....8月-11月秋招的过程可谓漫长又折磨人,那些简历投递秒挂的企业、点击就送的笔试、永远都不到真人环节的AI面试、....一切的一切都让你感受到无比的焦虑难挨,陷入了对自我的怀疑,对学校的怨恨,不断将自我打碎在重组,终于在11月迎来了自己的秋招offer;得到了offer你发现也没那么开心,人生每个阶段都有新的焦虑,应届生的第一份工作,你害怕选错,你不敢做选择,最终你被时间推着还是做了选择,你告诉自己:选择没那么可怕,要拥有准备”一切重头再来“的勇气。生不逢时,好像是我们这代人的悲哀,虽然生长在一切快速发展的时代,物质和精神甚至都有些过溢了,但竞争压力却与日俱增,在秋招认识的很多人都很优秀,实习+竞赛+项目各种都有,但仍然被秋招重创;究竟是人的问题还是社会的问题?看到这里,希望大家不要内耗不要怀疑自己,虽然这个社会的评价体系很单一,但仍然希望大家可以跳出评价体系,找到属于自己的路,慢点来也没关系的,人生不是0和1,中间还有很多可能性,千万不要把自己陷入死胡同里。
2025年终总结
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务