(随机数)leetcode 470. 用 Rand7() 实现 Rand10()

it2025-12-03  2

470. 用 Rand7() 实现 Rand10()

已知 rand_N() 可以等概率的生成[1, N]范围的随机数 那么: (rand_X() - 1) × Y + rand_Y() ==> 可以等概率的生成[1, X * Y]范围的随机数 即实现了 rand_XY()

class Solution: def rand10(self): num = (rand7()-1)*7+rand7() while True: if num<=40: return num%10+1 num = (rand7()-1)*7+rand7()
最新回复(0)