不是吧还要考概率论拼多多笔试4|刷题打卡

750 阅读1分钟

掘金团队号上线,助你 Offer 临门! 点击 查看详情

一、题目描述:

image.png

二、思路分析:

这题是一道概率论题,考虑到大家概率论忘光了简单的复习一下

以两个筛子,最大值为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
 

四、总结:

这题有点门槛,至少我的概率论不足以独立想到答案