网易游戏面试题——打怪按概率掉装备
2014-06-11 22:43
786 查看
你在游戏里面打怪的时候,怪死了会掉装备,然后一个怪有很多装备,掉哪个是随机的,但是每个装备都一个掉下的概率,
现在让你设计算法,在一个怪死的时候随机掉一个装备,这个掉装备的过程满足装备的各自概率,
比如,装备A掉下的可能为0.3,B为0.4,那么你的算法的结果中,比如掉下100000次,A和B掉下的比例必须接近3:4,
一个数组a[NUM]存储题目中给定的概率,
申请一个新的和他等长的数组b[NUM],其中:
b[k] = a[0]+a[1]+a[2]+...+a[k].
然后有一个函数random()可以产生0-1之间的随机数,则random()*b[NUM-1]落在b[]的哪个区域就掉相应的装备。
例如:
a[0] = 0.3 -> 对应第一个装备
a[1] = 0.4 -> 对应第二个装备
则:
b[0] = 0.3
b[1] = 0.7
若random()在某次运行时产生的结果为0.5,则:
b[1]*random()= 0.35,
由于0.3<0.35<0.7,则掉第二个装备
现在让你设计算法,在一个怪死的时候随机掉一个装备,这个掉装备的过程满足装备的各自概率,
比如,装备A掉下的可能为0.3,B为0.4,那么你的算法的结果中,比如掉下100000次,A和B掉下的比例必须接近3:4,
一个数组a[NUM]存储题目中给定的概率,
申请一个新的和他等长的数组b[NUM],其中:
b[k] = a[0]+a[1]+a[2]+...+a[k].
然后有一个函数random()可以产生0-1之间的随机数,则random()*b[NUM-1]落在b[]的哪个区域就掉相应的装备。
例如:
a[0] = 0.3 -> 对应第一个装备
a[1] = 0.4 -> 对应第二个装备
则:
b[0] = 0.3
b[1] = 0.7
若random()在某次运行时产生的结果为0.5,则:
b[1]*random()= 0.35,
由于0.3<0.35<0.7,则掉第二个装备
相关文章推荐
- Axis Aligned Rectangles (Google 面试题, 2016网易游戏校招笔试)
- 网易游戏面试题 - 谁收到了消息
- 大公司网易游戏游戏开发工程师面试题之做题问题
- 网易面试题之给定一个 n 行 m 列的地牢,其中 '.' 表示可以通行的位置,'X' 表示不可通行的障碍,牛牛从 (x0 , y0 ) 位置出发,遍历这个地牢, * 和一般的游戏所不同的是,他每一步
- 《网易游戏2014年电面面试题分享》
- 网易游戏面试题
- 网易面试题之给定一个 n 行 m 列的地牢,其中 '.' 表示可以通行的位置,'X' 表示不可通行的障碍,牛牛从 (x0 , y0 ) 位置出发,遍历这个地牢, * 和一般的游戏所不同的是,他每一步
- 网易游戏研发工程师一面面试题总结
- 2011-2012年腾讯,创新工场,淘宝,百度,阿里,迅雷。网易游戏校园招聘面试题集锦(1-25题含答案)
- 网易游戏QA岗位 -面试题
- 2013网易游戏暑期实习生面试题
- 关于游戏里面装备有概率掉落、套装收集问题的matlab模拟编程
- 网易面试题之给定一个 n 行 m 列的地牢,其中 '.' 表示可以通行的位置,'X' 表示不可通行的障碍,牛牛从 (x0 , y0 ) 位置出发,遍历这个地牢, * 和一般的游戏所不同的是,他每一步
- 2014网易游戏测试工程师面试题
- 网易面试题之给定一个 n 行 m 列的地牢,其中 '.' 表示可以通行的位置,'X' 表示不可通行的障碍,牛牛从 (x0 , y0 ) 位置出发,遍历这个地牢, * 和一般的游戏所不同的是,他每一步
- 网易游戏开发面试题分享
- 网易游戏面试题
- 网易面试题之给定一个 n 行 m 列的地牢,其中 '.' 表示可以通行的位置,'X' 表示不可通行的障碍,牛牛从 (x0 , y0 ) 位置出发,遍历这个地牢, * 和一般的游戏所不同的是,他每一步
- 【常见面试题】网易游戏前端面试题集锦1
- 据说是网易游戏面试题