Project1
标题:
如何用Ruby进行随机组合?
[打印本页]
作者:
有丘直方
时间:
2017-8-11 13:50
标题:
如何用Ruby进行随机组合?
比如说有一个数组ary(ary.size大于0),我现在要得到从ary中取出n个元素(n小于等于ary.size)的所有可能的组合其中随机的一个组合,作为另一个数组输出。
作者:
guoxiaomi
时间:
2017-8-11 14:30
ary.sort{|a, b| rand(1) * 2 - 1}[0..n]
复制代码
]
作者:
喵呜喵5
时间:
2017-8-11 14:51
ary.shuffle[0..6]
复制代码
作者:
铅笔描绘的思念
时间:
2017-8-14 22:27
居然在随手一搜这个标题就能在segmentfault发现一模一样的问题hhh
segmentfault
作者:
0nepeop1e
时间:
2017-8-14 23:34
本帖最后由 0nepeop1e 于 2017-8-14 23:35 编辑
class Array
def sample(i = 1, repeat = false)
return nil if self.empty?
n = [[0,i].max,a.size].min
return self[rand(self.size)] if n == 1
if repeat
return n.times.map do
self[self.size]
end
else
a = a.size.times.to_a
res = n.min.times.map do
self[a.delete(a[rand(a.size)])]
end
return res.size > 1 ? res : res[0]
end
end
end
复制代码
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1