Skip to content
DeepForgeby svx
All problems
MediumProbabilitypr-262

Partial Coupon Collection Expected Draws

Problem

Expected number of draws needed to collect m distinct coupon types out of n equally likely types, summing the geometric waiting times n / (n - j) for j = 0 to m - 1. Return 0.0 for n <= 0, m < 0 or m > n.

Hint

With j distinct types already collected, the wait for a new one is geometric with success probability (n - j) / n.

Test cases

case 1
in: [6,6]
expected: 14.7
case 2
in: [10,1]
expected: 1
case 3
in: [5,3]
expected: 3.916666666666667
case 4
in: [4,0]
expected: 0
case 5
in: [3,4]
expected: 0
Starter codePython
def partial_coupon_collection_draws(n, m):
    # Your code here
    pass

5 test cases · run your code against them in the editor