C++算法面试题集数学题

匿名网友 匿名网友 发布于: 2015-08-30 00:00:00
阅读 208 收藏 0 点赞 0 评论 0

1. [0,1], random generator gives even distributed number (x). How to get a linear distributed series (y), such that the probability of 0 is 1, and the probability of 1 is 0. (that is, p(y) = 1-y)。

 

2. 一个N*N的方阵,每个格子里放一个硬币。甲乙轮流取:选定一枚硬币后,必须取走它上方,右方和右上方的所有硬币(如果有的话)。拿走最左下角那个输。问谁有必胜策略?2*N?一般M*N?

 

3. Given a 3×3 square:
1 2 3
4 5 6
7 8 9
You are allowed to do circular shift on any row, and circular shift on any column, as many times as you please. Question: can you switch position of 1 and 2 with the allowed circular shifts?

 

4. 两个玩家, 一堆石头,假设多于100块, 两人依次拿, 最后拿光者赢, 规则是
1. 第一个人不能一次拿光所有的
2. 第一次拿了之后, 每人每次最多只能拿对方前一次拿的数目的两倍
求先拿者必胜策略, 如果有的话

 

5. 100层楼扔鸡蛋问题

 

6. 有n个房间,小偷每天偷一间,偷的规律简单说就是随机行走,如果今天偷了第i间屋子,明天有一半的几率偷i-1,一半的几率偷i+1,注意如果刚好偷到了边界上,那么第二天只有唯一的选择。如果你是警察,你只能每天选择一个房间蹲守,并且贼的手段相当高明,偷了一个房间后,没有任何人能发觉该房间是否曾经被偷过。

 

7. Given 3 prime numbers and an integer k, find the kth number if all the nos which are having these 3 prime numbers as their factors are arranged in increasing order.
Eg. prime numbers – 2,3,5
The increasing sequence will be 2,3,4,5,6,8,9…

 

8. 给定一种概率发生器,出1的概率是p,出0的概率是1-p. 如果我们需要一个概率都是1/2的概率发生器,该怎么做? 如果是1/n的,怎么做?

 

9. 一条直线上有40个电线杆,每个间隔5米。现在要把9个灯泡拧上去,每个电线杆上至多一个,而且不能有三个这样的灯泡,比如说A, B, C, AB间的距离等于BC间的距离。问这9个灯泡有多少种放法?

 

10. you have a die with 10 sides, number ranging from 1 to 10. Each number comes up with equal possibility. You sum the num you get until the sum is greater than 100. What’s the expected value of your sum?

 

11. 今有若干堆火柴,两人依次从中拿取,规定每次只能从一堆中取若干根,
可将一堆全取走,但不可不取,最后取完者为胜,求必胜的方法。

12. 今有若干堆火柴,两人依次从中拿取,规定每次只能从一堆中取若干根,可
将一堆全取走,但不可不取,最后取完者为负,求必胜的方法。

13.

Q1: 在一个圆上随意选取三个点,三个点在同一半圆上的概率  (3/4)
Q2: 在圆上随意选取ABCD四个点,AB和CD交叉的概率 (1/3)

 

14. 现有50个红球,50个黑球,还有两个空桶。现在把这些球放到两个空桶里面。一个人,随机的从任一个桶中拿一个球出来,问怎么放这些球,使得他拿出红球的概率最大。此人完全不知道桶里面球的分布。如果一个桶是空的,那么他肯定是拿不出红球的。

 

15. [Google] 两个骰子, 一个是1-6的正常骰子,问怎么设置另一个骰子六个面上的数值,使得掷出两个骰子之后的和在1-12之内均匀分布。

 

16. A man speaks the truth 3 out of 4 times. He throws a die and reports it to be a 6. What is the probability of it being a 6?

 

17. 25匹马,请找出最快的3匹。一次只能赛5匹,只能知道这5匹马的排序。力求用最少的操作。

 

18. [Microsoft] 一个等边三角形里有5个点, 有没有可能任意两点的距离都大于二分之一边长, 证明。

 

19. 三个鸡蛋硬度[0, 1] uniform random distributed.如果两个鸡蛋对敲, 其中完好的再和第三个鸡蛋对敲. 这个鸡蛋再不碎的概率是多大.

 

20. 假设rand(0,1)能给出0-1的随即直,那么得到0-0.3的一个直需要多少次run?(expected time)

 

21. 有一排N个瓶子(首尾不相接),其中只有一个瓶子是真实的,其他的瓶子都是幻影(看起来和真实的一样),若是摸到幻影,真实的瓶子就会随机的和相邻的左或者右瓶子交换,问能找到一种可靠的方法,找到真实的瓶子?

 

22. Russian roulette. 2 consective bullets out of 6 slots. A start first, then B, then A, then B,…each round one can decide to turn (reset) or not what’s the probability for A to survive for 1st round?
if A survive, should B turn? what’s the probability for B to survive for 2ndround?
if A and B both survive 1st and 2nd round, should A turn for 3rd round?
if no one dies for first 3 rounds, should B turn for 4th round?

 

23. How many different binary trees from n nodes

这道题根算法没啥大关系,有三种可能性
1)如果只是数据不一样,也算不一样的树,那一共有多少种?比如   a–>b , b–>a 算不同的话。
2)如果两个树可能通过改变key value来转换,就算是相同的树,那一共有有多少种?
3)如果两个树可能通过改变key value来转换或者通过mirror来转换,那一共有有多少种呢?

 

24. 两个dice,如何label,使得他们的可以表示01-31中的所有数字

 

25. 序列a,b,c, 如何判断c是否是a和b的interleave。即,a,b是c的子序列,同时c由a,b组成。比如,
a = [a1,a2,a3,…,an], b = [b1, b2, b3, …, bm]
如果c = [a1,b1, b2, a2,…, an, bm], return true,如果c = [a2,a1,b1,b2 ,…] return false

 

26. 有一个圆柱体,半径为R,高为H. 现在要在里面随机产生N个半径为r1,以及N个半径为r2的小球。要求这些小球必须在圆柱体内,而且互不相交。一共需要M个sample。

 

27. 一个立方体,用3种不同的颜色涂,每种颜色都得用。有多少种涂法

http://mathforum.org/library/drmath/view/56240.html

 

28. 有三种颜色的球,红色13个,绿色16个,黄色 17个,有一个方法可以使球变色,拿出两个不同颜色的球,就能变成第三种颜色,如拿出一个红色,一个黄色,就会变成两个绿色的球。问有没有可能把这些球变成同一种颜色,如果可能,怎么做,如果不可能,为什么。引申,x个红球,y个绿球,z个黄球,当x,y,z满足什么关系时,一定有解决方案,否则无解。

 

29. 在一个2维平面上有很多机器人 一共有2类 绿色和蓝色的机器人都比较笨 不知道自己的颜色 也不能相互交流现在有一个发信号的机器 可以给所有的机器人发信号 所有的机器人必须执行同样的命令 (可以带条件的指令)问如何在2个命令下 让绿色 蓝色机器人分组

30.N processors 同时 read M memories,如果有同时两个processors read同一个就算一个读写失败。问平均的read memory成功的次数

评论列表
文章目录