关闭

名企笔试:字符串子串(网易2017春招笔试题)

标签: 网易2017春招笔试题算法排序c语言
243人阅读 评论(0) 收藏 举报
分类:

题目:


一种双核CPU的两个核能够同时的处理任务,现在有n个已知数据量的任务需要交给CPU处理,假设已知CPU的每个核1秒可以处理1kb,每个核同时只能处理一项任务。n个任务可以按照任意顺序放入CPU进行处理,现在需要设计一个方案让CPU处理完这批任务所需的时间最少,求这个最小的时间。 


输入描述:


输入包括两行:

第一行为整数n(1 ≤ n ≤ 50)

第二行为n个整数length[i](1024 ≤ length[i] ≤ 4194304),表示每个任务的长度为length[i]kb,每个数均为1024的倍数。


输出描述:


输出一个整数,表示最少需要处理的时间


输入例子1:


5

3072 3072 7168 3072 1024


输出例子1:


9216


输出例子1:


9216


解题思路:


看到题后,首先想这个应该属于分配问题!先将被分配的资源排好队,然后根据情况分配给两个CPU中的一个。想的简单的就是,排好队从小到大 先给A一个再给B一个,直至分完。但是这种分法只考虑到两任务之间存在差值,却没有考虑差值大小会不会影响下一次分配。所以我采取从大到小分配的方式,然后再每一次分配前还得先确定哪一个CPU的任务时长和是最小的就将下一个任务分配给谁!

此题网上的其他答案不太靠谱哟!微笑


代码实现:



#include <stdio.h>
int sumArray(int array[],int n)            //计算某个CPU上面的任务时间
{
    int i;
    int sum=0;
    for(i=0;i<n;i++)
    {
        sum=sum+array[i];
    }
    return sum;
}
void BubbleSort(int a[],int length)        //对任务进行从大到小排序
{  
    int i, j, temp;

    for(i = 0; i < length; ++i){

        for(j = i + 1; j < length; ++j){

            if(a[j] >a[i]){    //如果后一个元素da于前一个元素则交换

                temp = a[i];

                a[i] = a[j];

                a[j] = temp;

            }

        }
    }
}  
 
int main()
{
    int n;
    scanf("%d",&n);
    int number[n];
    int ACpu[n],BCpu[n];       //A B CPU

    int i;
    for(i=0;i<n;i++)           //代表每个CPU都可以接受任何任务 初值置零
    {
        ACpu[i]=0;  
        BCpu[i]=0;
    }
    for(i=0;i<n;i++)
        scanf("%d",&number[i]);
    BubbleSort(number,n);
    for(i=0;i<n;i++)
    {
        if(sumArray(ACpu,n)<=sumArray(BCpu,n))
        {
            ACpu[i]=number[i];
        }
        else
        {
            BCpu[i]=number[i];
        }
        
    }
    if(sumArray(ACpu,n)>sumArray(BCpu,n))    //最后统计哪组任务时长最长,则输出数值
        printf("%d\n",sumArray(ACpu,n));
    else
        printf("%d\n",sumArray(BCpu,n));
    return 0;
}



1
0
查看评论

网易2017春招实习生笔试编程题集合(C++方向)

挺早之前做好一直想写一篇博客分享一下,但是后来给忘了…C++方向一共十二道编程题,可能和别的方向有一些出入。题目总体的难度不大,有些题有些小坑,适合进阶者练练手。 代码都扔在Github了 -> Code 题目列表: 分饼干 双核处理 堆砖块 奇怪的表达式求值 小易记单词 ...
  • cqk0100
  • cqk0100
  • 2017-06-17 10:35
  • 676

牛客网-网易2017春招笔试真题编程题集合-解题思路及源码

一、双核处理 本题目是0-1背包的变种,题目的目标是求最少需要处理的时间。可以将目标转化为在 总任务长度/2的时间内,一个CPU最多能处理的任务量,那么答案为 总任务量-在总任务长度/2的时间内最多工作量。 因为工作时间的理想最小值为总任务长度/2,那么如果一个cpu的处理时间大于总任务长度/2,...
  • LieQueov
  • LieQueov
  • 2018-01-26 17:34
  • 68

2017春招网易数据分析工程师笔试小结

一、题型        20道单选(智力数学题、概率题、SQL题、网络协议TCP、Linux、C语言、统计学、函数推算)        3道编程(C语言编程)        2道相...
  • liangyingyi1006
  • liangyingyi1006
  • 2017-03-25 22:29
  • 2999

名企笔试:网易游戏2017招聘笔试题(赶去公司)

网易游戏2017招聘笔试题(赶去公司)题意: 终于到周末啦!小易走在市区的街道上准备找朋友聚会,突然服务器发来警报,小易需要立即回公司修复这个紧急bug。假设市区是一个无限大的区域,每条街道假设坐标是(X,Y),小易当前在(0,0)街道,办公室在(gx,gy)街道上。小易周围有多个出租车打车点,小...
  • u012435889
  • u012435889
  • 2017-06-11 19:24
  • 745

工作安排(网易2017春招笔试题)

现在有n位工程师和6项工作(编号为0至5),现在给出每个人能够胜任的工作序号表(用一个字符串表示,比如:045,表示某位工程师能够胜任0号,4号,5号工作)。现在需要进行工作安排,每位工程师只能被安排到自己能够胜任的工作当中去,两位工程师不能安排到同一项工作当中去。如果两种工作安排中有一个人被安排在...
  • drink_tea
  • drink_tea
  • 2017-06-08 14:07
  • 435

网易2017春招笔试真题编程题集合--Python

注:笔试题摘自牛客网,一共十二道编程题。以下包括题目描述,个人思路,正确结果 1. 一种双核CPU的两个核能够同时的处理任务,现在有n个已知数据量的任务需要交给CPU处理,假设已知CPU的每个核1秒可以处理1kb,每个核同时只能处理一项任务。n个任务可以按照任意顺序放入CPU进行处理,现在需...
  • zy_dream
  • zy_dream
  • 2017-06-19 17:22
  • 2290

网易互娱2017实习生招聘在线笔试第一场题目解析

注意:由于题目目前还没有加入到题库,所以本人给出的代码并不能保证AC,但是对于所给的测试用例和解题基本思路是正确的。 题目1 : 电子数字 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 电子数字在生活中很常见,而许多的电子数字是由LED数码管...
  • qq_32400847
  • qq_32400847
  • 2016-03-23 19:55
  • 1531

【笔试真题】2017年58春招笔试题

已经好几个月没有刷题了,昨天做了58的笔试,感觉题量好大,一个半小时根本做不了几个,这还是好多题目都是剑指offer上有的经典题目。 一、填空题 1、在线段中任取两点将线段分隔成三份,求三份线段能形成三角形的概率。 2、10个人排成一列,A一定在B和C中间的概率。 3、逻辑判断题,哪个部门是...
  • u012569555
  • u012569555
  • 2017-03-24 20:13
  • 337

2018网易游戏校招笔试题

2017年4月15日的网易游戏实习生校招题目,3道题,2小时,对于没有经过ACM训练的人来说时间挺紧,最后没做完。但是毕竟猪场挑高手,自己技不如人,还需要多多努力。回头自己整理了下自己做得题目。可能有错误,可以给我留言。 解题思路: 拿到题目,感觉有点像背包问题,考虑使用DP来做,深入理解一下:可...
  • juzihongle1
  • juzihongle1
  • 2017-04-17 14:56
  • 3761

网易2017春招笔试——集合

集合 题目 小易最近在数学课上学习到了集合的概念,集合有三个特征:1.确定性 2.互异性 3.无序性. 小易的老师给了小易这样一个集合: S = { p/q | w ≤ p ≤ x, y ≤ q ≤ z } 需要根据给定的w,x,y,z,求出集合中一共有多少个元素。小易才...
  • sinat_31790817
  • sinat_31790817
  • 2018-01-23 20:05
  • 38
    个人资料
    • 访问:126505次
    • 积分:3214
    • 等级:
    • 排名:第12600名
    • 原创:187篇
    • 转载:4篇
    • 译文:9篇
    • 评论:33条
    RUNNING|~_~|My web
    微信公众号
    课程设计、视频资源、有料趣文
    Worldhello


    微信公众号:Worldhello
    期待您的关注!
    博客专栏
    最新评论