xyz*_*xyz 4 random combinatorics
问题是:
编写一个方法,从大小为n的数组中随机生成一组m个整数.每个元素必须具有相同的被选择概率.
这个答案是否正确?:
我随机选择第一个整数.接下来.如果它已经存在 我不接受别人接受它.并继续,直到我有整数.
let m be the number of elements to select for i = 1; i <= m; i++ pick a random number from 1 to n, call it j swap array[j] and array [n] (assuming 1 indexed arrays) n--
在循环结束时,数组的最后m个元素是您的随机子集.渔民洗牌有一些变化.