概率小数2013年阿里巴巴暑期实习招聘笔试题目(不完整,笔试时间:2013.5.5)

每日一贴,今天的内容关键字为概率小数

    答题说明:

    1.答题间时90分钟,请注意握把间时;

    2.试题分为四个部份:单项选择题(10题,20分)、不定向选择题(4题,20分)、填空问答(5题,40分)、综合体(1题,20分);

    3.其他一些杂乱无章的试考说明。

    


    一、单项选择题

    1.以下说法不正确的是:

    A.SATA盘硬的速度速度大约为500Mbps/s

    B.读取18XDVD盘光据数的速度为1Gbps

    C.预兆以太网的据数读取速度为1Gpbs

    D.读取DDR3内存据数的速度为100Gbps

    2.以下()不能能于用Linux中的进程通信

    A.共享内存

    B.名命管道

    C.信号量

    D.临界区

    3.设在内存中有P1,P2,P3三道序程,并按照P1,P2,P3的优先级序次运行,其中外部盘算和IO操纵间时由下表给出(CPU盘算和IO资源都只能同时由一个序程占用):

    P1:盘算60ms---》IO 80ms---》盘算20ms

    P2:盘算120ms---》IO 40ms---》盘算40ms

    P3:盘算40ms---》IO 80ms---》盘算40ms

    实现三道序程比单道运行节俭的间时是()

    A.80ms

    B.120ms

    C.160ms

    D.200ms

    4.两个等价程线并发的执行以下序程,a为全局变量,初始为0,设假printf、++、--操纵都是原子性的,则输出肯不哪个是()

    

1
2
3
4
5
6
7
8
9
voidfoo() {
if(a <= 0) {
a++;
}
else{
a--;
}
printf("%d", a);
}

    A.01

    B.10

    C.12

    D.22

    5.给定fun数函如下,那么fun(10)的输出结果是()

    

1
2
3
intfun(int x) {
return(x==1) ? 1 : (x + fun(x-1));
}
    每日一道理
今天阳光很好,坐在窗前,看窗外如此晴朗的天感觉特别舒心,雨过天晴后的世界总给人一种明媚,仿佛阳光照耀在“心田”上空,让前些天被风雨践踏的花朵重新失掉爱的关怀,重现生命的活力!

    A.0

    B.10

    C.55

    D.3628800

    6.在c++序程中,如果一个整型变量频仍应用,最好将他定义为()

    A.auto

    B.extern

    C.static

    D.register

    7.长为n的字符串中匹配度长为m的串子的复杂度为()

    A.O(N)

    B.O(M+N)

    C.O(N+LOGM)

    D.O(M+LOGN)

    8.判断一包括n个数整a[]中是不是存在i、j、k满意a[i] + a[j] = a[k]的间时复杂度为()

    A.O(N^3)

    B.O(N^2logN)

    C.O(N^2)

    D.O(NlogN)

    9.序排算法中最坏复杂度不是n(n-1)/2的是_

    A.快速序排 B.冒泡序排 C.直接插入序排 D.堆序排

    10.三次射击能中一次的概率是0.95,问请一次射击能中的概率是多少?
A.0.63

    B.0.5

    C.0.32

    D.0.85

     

    二、不定向选择题

    1.不记得

    2.一个栈的入栈数列为:1、2、3、4、5、6;以下哪个是可能的出栈序顺。(项选不记得)

    3.以下哪些代码可以使得a和b交换数值。(项选不记得)

    4.A和B晚上无聊就开始数星星。每次只能数K个(20<=k<=30)A和B轮番数。最后谁把星星数完谁就得胜,那么当星星数量为多少时候A必胜?(项选不记得)

    三、填空问答题

    1.给你一个整型数组A[N],实现一个小序程代码(20行以内),使得A[N]逆向,即原数组为1,2,3,4,逆向之后为4,3,2,1

    void revense(int * a,int n) {

    

    }

    2.自选度调方面的问题,目题很长,就是给你三个程线,别分采取先来先分配的策略和最短执行之间的度调策略,然后盘算个每程线从提交到执行实现的间时。目题其实太长,还有几个表格。察考的是操纵系统面里作业度调算法先进先出和最短作业优先。

    3.有个苦逼的班上族,他天每忘却定闹钟的概率为0.2,班上堵车的概率为0.5,如果他既没定闹钟班上又堵车那他迟到的概率为1.0,如果他定了闹钟但是班上堵车那他迟到的概率为0.9,如果他没定闹钟但是班上不堵车他迟到的概率为0.8,如果他既定了闹钟班上又不堵车那他迟到的概率为0.0,那么求出他在60天里班上迟到的望期。

    4.战报流交:战场上不同的置位有N个兵士(n>4),个每兵士道知以后的一些战况,在现要需这n个兵士通过通话流交,互相达传自己道知的战况信息,每次通话,可以让通话的方双道知对方的全部谍报,设盘算法,应用起码的通话次数,是的战场上的n个士兵道知全部的战况信息,不要需写序程代码,得出起码的通话次数。

    5.有N个人,其中一个明星和n-1个大众,大众都识认明星,明星不识认任何大众,大众和大众之间的识认系关不道知,在现如果你是机器人R2T2,你每次问一个人是不是识认另外一个人的价值为O(1),试计设一种算法找出明星,并给出间时复杂度(没有复杂度不得分)。

    解答:这个问题等价于找未知序列数中的最小数,我们将reg这个数函等价为以下程过:,如果i识认j,记作i大于于等j,样同j不一定大于于等i,满意要求,i不识认j记作i<j,对明星k,他不识认全部人,则k是其中最小的数,且满意其余的人都识认他,也就是其余的人都大于于等k.这样问题就被转换了。就拿N=5说来,首先有数组S[5]={A,B,C,D,E}这5个变量,里边放存着随机数,求是不是存在一唯最小数,如果存在置位在S中的哪里。(楼主这里是这个意思,按我的懂得题中这个最小数一定是存在且一唯的)

int finds(S,N) 
{ 
intflag=0;//于用判断是不是有明星,即以后最小数另外涌现几回
inttemp=0;//放存最小数在S中的置位 
for(i=1;i<N;i++)
{
if(!reg(S[i],S[temp])//如果temp标号的数小于i标号的数
{
temp=i;
flag=0;//改换疑怀象对(最小数)时,标记清零
}
elseif(reg(S[temp],S[i])//如果temp里放存的确实是一唯最小数是不会跑进这里来的
{
flag++;
` } 
}
if(flag>0)return -1;//示表没有明星,例如全部的数都等相
returntemp;//返回明星在S中的置位 
}

四、综合题

    有一个淘宝商户,在某市城有n个仓库,个每仓库的储货量不同,在现要通过货品运输,将每次仓库的储货量成变致一的,n个仓库之间的运输线路围城一个圈,即1->2->3->4->...->n->1->...,货品只能通过接连的仓库运输,计设最小的送运本钱(运货量*程路)到达淘宝商户的要求,并写出代码。

    解答:这个目题类似的目题有:

    目题:http://www.lydsy.com/JudgeOnline/problem.php?id=1045
有n个小朋友坐成一圈,每人有ai个糖果。每人只能给右左两人传递糖果。每人每次传
递一个糖果价值为1,求使全部人取得均等糖果的最小价值。
分析:
设假a1分给an的糖果数为k,则可以失掉以下的信息:
a1 a2 a3 an-1 an
以后数目:a1-k a2 a3 an-1 an+k
所需价值:|a1-k-ave| |a1+a2-k-2*ave| |a1+a2+a3-k-3*ave||a1+..+a(n-1)-k-(n-1)*ave| |k|
以sum[i]示表从a1加到ai减掉i*ave的和值,这以上可以化简为
总价值 = |s1-k|+|s2-k|+...+|s(n-1)-k|+|k|
不难看出:当k为s1...s(n-1)中的中位数的时候,所需的价值最小

    代码转载于络网:

#include <cstring>
#include <iostream>
#include <algorithm>
usingnamespace std; 
constint X = 1000005; 
typedeflong longll; 
ll sum[X],a[X]; 
ll n; 
ll Abs(ll x){ 
returnmax(x,-x); 
} 
int main(){ 
//freopen("sum.in","r",stdin);
while(cin>>n){
ll x;
ll tot = 0;
for(inti=1;i<=n;i++){ 
scanf("%lld",&a[i]);
tot += a[i];
}
ll ave = tot/n;
for(inti=1;i<n;i++) 
sum[i] = a[i]+sum[i-1]-ave;
sort(sum+1,sum+n);
ll mid = sum[n/2];
ll ans = Abs(mid);
for(inti=1;i<n;i++) 
ans += Abs(sum[i]-mid);
cout<<ans<<endl;
}
return0; 
}

文章结束给大家分享下程序员的一些笑话语录: 不会,Intel会维持高利润,也会维持竞争局面,国外的竞争不是打死对方的那种。你看日本有尼康,佳能,索尼,都做相机,大家都过得很滋润。别看一堆厂,其实真正控制的是后面的那几个财团——有些竞争对手,后面其实是一家人。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值