Solve algorithms dealing with randomness
Tonight I learned that random sample where each element in the sampling corpus has an equal likelihood of being chosen is a brand of algorithms known as "reservoir sampling". - Implement random.shuffle(..) - Implement random.choice(..) Surprisingly, candidates are expected to encounter problems like this during interviews.
This commit is contained in:
parent
572fb0fe5f
commit
751b5327a9
2 changed files with 46 additions and 0 deletions
7
scratch/facebook/hard/fisher-yates.py
Normal file
7
scratch/facebook/hard/fisher-yates.py
Normal file
|
@ -0,0 +1,7 @@
|
|||
import random
|
||||
|
||||
def shuffle(xs):
|
||||
n = len(xs)
|
||||
for i in range(n):
|
||||
j = random.randint(i, n - 1)
|
||||
xs[i], xs[j] = xs[j], xs[i]
|
Loading…
Add table
Add a link
Reference in a new issue