Wayfair interview question

4. Randomly Pick n elements from a given array of m elements.

Interview Answer

Anonymous

21 Apr 2016

99 down vote accepted Iterate through and for each element make the probability of selection = (number needed)/(number left) So if you had 40 items, the first would have a 5/40 chance of being selected. If it is, the next has a 4/39 chance, otherwise it has a 5/39 chance. By the time you get to the end you will have your 5 items, and often you'll have all of them before that.

1