【华为上机真题 2022】流水线
创始人
2024-03-21 00:46:21

🎈 作者:Linux猿

🎈 简介:CSDN博客专家🏆,华为云享专家🏆,Linux、C/C++、云计算、物联网、面试、刷题、算法尽管咨询我,关注我,有问题私聊!

🎈 关注专栏: 数据结构和算法成神路【精讲】优质好文持续更新中……🚀🚀🚀

🎈 欢迎小伙伴们点赞👍、收藏⭐、留言💬


目录

一、题目描述

1.1 输入描述

1.2 输出描述

1.3 测试样例

1.3.1 示例 1

二、解题思路

三、代码实现

四、时间复杂度


一、题目描述

工厂有 m 条流水线,用于并行完成 n 个独立的作业,工厂设置了一个调度系统,在安排作业时,总是优先执行处理时间最短的作业。

现给定流水线个数 m,和需要完成的作业数 n,每个作业的处理时间分别为 t1、t2、...、tn。请编程计算处理完成所有作业的耗时为多少?

当 n > m 时,首先处理时间短的 m 个作业进入流水线,其他的等待,当某个作业完成时,依次从剩余作业中取处理时间最短的进入处理。

1.1 输入描述

第一行为 2 个整数(采用空格分隔),分别表示流水线个数 m 和作业数 n。

第二行输入 n 个整数(采用空格分隔),表示每个作业的处理时长 t1、t2、...、tn。

其中,0 < m,n < 100, 0 < t1,t2,...,tn < 100。

注:输入都是合法的。

1.2 输出描述

输出处理完所有作业的总时长。

1.3 测试样例

1.3.1 示例 1

输入

3 5
8 4 3 2 10

输出

13

说明:先安排时间为 2、3、4 的三个作业。

第一条流水线先完成作业,然后调度剩余时间最短的作业 8;

第二条流水线完成作业,然后调度剩余时间最短的作业 10;

总耗时就是第二条流水线完成作业的时间 13(3+10);

提示:每次将时间最短的那个任务,扔进当前有空的流水线里面处理。注意这个不是最优的调度方案。

二、解题思路

本题比较简单,主要是模拟流水线处理作业的流程,优先处理短作业。

先将所有作业排序,因为需要优先处理短作业。然后可以分两种情况处理:

(1)如果 m >= n,说明流水线个数大于作业的个数,每个作业可以分配到一个流水线上去,作业时间最长的处理完成后,所有作业都会处理完。所以最长时间即为需要时间最长的那个作业。

(2)如果 m < n,说明流水线个数小于作业的个数,需要按照每批次 m 个作业进行处理,根据作业的时间从短到长处理。这里假设 dp[ i ] 表示处理前 i 个作业需要的时间,那么,有如下动态方程:

dp[i] = dp[i] + dp[i - m];  i >= m

 上述公式表示处理前 i 个作业的时间为当前 i 作业的时间加上 dp[i - m] 需要的时间,因为有 m 个流水线,第 i 个作业一定放置在 i - m 个作业的流水线上。

三、代码实现

代码实现如下所示。

#include 
#include 
#include 
using namespace std;int main()
{int n, m;while (cin>>m>>n) {int val;vectorg;for (int i = 0; i < n; ++i) {cin>>val;g.push_back(val);}sort(g.begin(), g.end());if (m >= n) {cout<

四、时间复杂度

时间复杂度:O(nlogn)

其中,n 表示任务的个数,在上述代码中,耗费的主要时间在于 sort 排序上,sort 排序的时间复杂度为 O(nlogn),所以总的时间复杂度为 O(nlogn)。


🎈 感觉有帮助记得「一键三连支持下哦!有问题可在评论区留言💬,感谢大家的一路支持!🤞猿哥将持续输出「优质文章回馈大家!🤞🌹🌹🌹🌹🌹🌹🤞


上一篇:[C语言数据结构]树

下一篇:java面试总结

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...