2014阿里校招 -- 杂题小结S

11:、n从1开始,每个操作可以选择对n加1或者对n加倍。若想获得整数2013,最少需要多少个操作。

A:18 B:24 C:21 D;不可能

KO:将2013转换成二进制序列,0的个数表示对其进行了一次加倍,1的个数(除去最高位)表示分别进行了一次加倍、一次加1。(C)


13.考虑一个特殊的hash函数h,能将任一字符串hash成一个整数k,其概率p(k) = 2^(-k),k = 1,2,3,4,....对于一个未知大小的字符串集合S中的每一个元素取hash值所组成的集合为h(S).若h(s)中最大元素max h(s) =10,那么s的大小期望是
A:1024 B:512 C:5 D:10
概率问题,不是太明白...
其他解释:对于几何中的每个字符串取hash可以看作是同分布的独立重复事件,所以每一个事件出现10的概率都是p=1/1024,那么当出现的时候,期望的次数就是1/p,1024。 (A)


14.如下函数,在32bit系统foo(2^31-3)的值是:
Int foo(int x)
{
    Return x&-x;
}
A: 0 B: 1 C:2 D:4
KO:异或操作,位运算需要转换成补码进行!! (C)

16:在32为系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是:
Struct A
{
int a;
short b;
int c;
char d;
};
Struct B
{
int a;
short b;
char c;
int d;
};
A: 16,16 B:13,12 C:16,12 D:11,16
KO:编译器中提供了 #pragma pack(4) 来设定变量以n字节对齐方式。n字节对齐就是说变量存放的起始地址的偏移量有两种情况:
  1. 如果n大于等于该变量所占用的字节数,那么偏移量必须满足默认的对齐方式。
  2. 如果n小于该变量的类型所占用的字节数,那么偏移量为n的倍数,不用满足默认的对齐方式。
结构的总大小也有个约束条件,分为下面两种情况:
  1. 如果n大于所有成员变量类型所占用的字节数,那么结构的总大小必须为占用空间最大的变量占用的空间数的倍数。
  2. 否则必须为n的倍数。   (C)

18.一个洗牌程序的功能是将n张牌的顺序打乱,以下关于洗牌程序的功能定义说法最恰当的是:
A: 每张牌出现在n个位置上的概率相等
B: 每张牌出现在n个位置上的概率独立
C: 任何连续位置上的两张牌的内容独立
D: n张牌的任何两个不同排列出现的概率相等
KO:洗牌程序的目的:产生随机序列。什么叫随机,后边产生的数和前边没有关系。既独立,又等概。 (D)

19.用两种颜色去染排成一个圈的6个棋子,如果通过旋转得到则只算一种,一共有多少种染色:
A: 10 B:11 C:14: D:15
这么多概率题目,晕啊...  A白B黑,全黑或全白(2)+ 一黑或一白(2)
+ 两黑或两白(连在一块BBAAAA、间隔一个BABAAAA、间隔两个BAABAA 6)
+ 三黑三白(三连BBBAAA、分别间隔一个BABABA、BABBAA、ABAABB 4) = 14。 (C)

(*)2014.03.25初次做笔试题就选了阿里的,有助于自己后续多学多读书查缺补漏~大笑奋斗

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值