arrays - 从 Ruby 中的列表中获取对的所有组合

标签 arrays ruby combinations

我有一个元素列表(例如数字),我想检索所有可能对的列表。我如何使用 Ruby 做到这一点?

例子:

l1 = [1, 2, 3, 4, 5]

结果:

l2 #=> [[1,2], [1,3], [1,4], [1,5], [2,3], [2,4], [2,5], [3,4], [3,5], [4,5]]

最佳答案

在 Ruby 1.8.6 中,您可以使用 Facets :

require 'facets/array/combination'
i1 = [1,2,3,4,5]
i2 = []
i1.combination(2).to_a # => [[1, 2], [1, 3], [1, 4], [1, 5], [2, 3], [2, 4], [2, 5], [3, 4], [3, 5], [4, 5]]

在 1.8.7 及更高版本中,combination 是内置的:

i1 = [1,2,3,4,5]
i2 = i1.combination(2).to_a

关于arrays - 从 Ruby 中的列表中获取对的所有组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1573029/

相关文章:

ruby - #<DateTime :0x00000001f18168> 的 NoMethodError at/undefined 方法 `-@'

ruby-on-rails - Ruby - 批量读取文件

java - 二分查找总是返回-1?

arrays - PowerBuilder - 字符串到数组的转换

c# - 为什么这个算法在 Ruby 中比在 Parallel'd C# 中运行得更快?

php - 生成数字组合

c# - 列表列表的组合,使每个组合都有唯一的元素

Java:将二维数组转换为具有组织和随机数的一维数组

android - 使用坐标系在android屏幕上绘图

math - 可能有多少种不同的组合?