random pick index

🏠

It might be worth mentioning that the input is unsorted, at which point the linear search makes more sense.

 1class Solution:
 2    def __init__(self, nums):
 3        self.nums = nums
 4
 5    def pick(self, target):
 6        res = None
 7        count = 0
 8        for i, x in enumerate(self.nums):
 9            if x == target:
10                count += 1
11                chance = random.randint(1, count)
12                if chance == count:
13                    res = i
14        return res
15
16
17obj = Solution([1, 2, 3, 3, 3])
18param_1 = obj.pick(3)