使用 Ruby 查找数组中大小为 N 的所有子集

发布于 2024-12-03 19:47:08 字数 128 浏览 3 评论 0原文

给定一个数组 ['a', 'b', 'c', 'd', 'e', 'f'],我如何获得包含两个、三个、和四个元素?

我对 Ruby 很陌生(从 C# 迁移过来),并且不确定“Ruby Way”是什么。

Given an array ['a', 'b', 'c', 'd', 'e', 'f'], how would I get a list of all subsets containing two, three, and four elements?

I'm quite new to Ruby (moving from C#) and am not sure what the 'Ruby Way' would be.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

云雾 2024-12-10 19:47:08

查看 Array#combination

然后是这样的:

2.upto(4) { |n| array.combination(n) }

Check out Array#combination

Then something like this:

2.upto(4) { |n| array.combination(n) }
很快妥协 2024-12-10 19:47:08

稍微调整 basicxman 的:

2.upto(4).flat_map { |n| array.combination(n).to_a }
#=> [["a", "b"], ["a", "c"], ["a", "d"], ..., ["c", "d", "e", "f"]]

Tweaking basicxman's a little bit:

2.upto(4).flat_map { |n| array.combination(n).to_a }
#=> [["a", "b"], ["a", "c"], ["a", "d"], ..., ["c", "d", "e", "f"]]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文