掘金团队号上线,助你 Offer 临门! 点击 查看详情
一、题目描述:
二、思路分析:
这题是一道概率论题,考虑到大家概率论忘光了简单的复习一下
以两个筛子,最大值为2,3为例
可以得出,总概率分布的面积为2 * 3= 6(将离散的点给转为几何分布,虽然易于理解,但也要知道其实并不是一个面积)
这个数字代表着骰子A(1-2)和骰子B(1-3)的总可能为6
而最大值为1的面积 1 * 1 = 1 这个数字代表着骰子A(1-1)和骰子B(1-1)的总可能为1
而骰子A(1-2)和骰子B(1-2)的总可能为 2 * 2 = 4
因此最大值为2的面积 2 * 2 - 1 * 1 = 3
本题不过是将两个骰子改成n个骰子,然后求期望罢了
因此我们易得以下代码
三、AC 代码:
def main(n,nums):
total=1
maxs=max(nums)
ans=0
pre=0
for i in range(1,maxs+1):
cur=1
for j in range(n):
cur*=min(i,nums[j])/nums[j]
ans +=(cur-pre)*i
pre=cur
return ans
四、总结:
这题有点门槛,至少我的概率论不足以独立想到答案