kieranajp / combinator
生成集合的组合。
v0.1
2016-06-09 16:10 UTC
Requires
- php: >=7.0
Requires (Dev)
- phpunit/phpunit: ^5.4
This package is auto-updated.
Last update: 2024-09-22 21:10:52 UTC
README
生成集合的组合
组合是从大于 k 个值中选择 k 个不重复的值的集合。
例如,给定值 Jim, Jane, Bob, Susan, Ralph
,所有可能的大小为 3
的组合如下
Jim, Jane, Bob
Jim, Jane, Susan
Jim, Jane, Ralph
Jim, Bob, Susan
Jim, Bob, Ralph
Jim, Susan, Ralph
Jane, Bob, Susan
Jane, Bob, Ralph
Jane, Susan, Ralph
Bob, Susan, Ralph
(此示例得益于这个出色的计算器)。
安装
composer require kieranajp/combinator
用法
提供的 Combinator
类是 Iterator
的一个实例,因此可以通过遍历它来收集组合。
例如
use Kieranajp\Combinator\Combinator; $size = 3; $combinator = new Combinator([1, 2, 3, 4, 5], $size); $items = []; foreach ($c as $item) { $items[] = $item; }
现在 $items
数组将包含所有可能的大小为 $size
的组合。
贡献 & 路线图
欢迎提交拉取请求。请遵循 PSR-2。我打算在这个包中添加一个 Permutator。
许可证
MIT 许可证
版权所有 (c) 2016 Kieran Patel
特此授予任何人免费获得此软件及其相关文档文件(以下简称“软件”)的副本的权利,以不受限制地使用该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许向软件提供副本的个人以这样做,前提是以下条件
上述版权声明和本许可声明应包含在软件的所有副本或实质性部分中。
本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论是因合同、侵权或其他行为引起的,无论是源于、因涉及或与该软件或该软件的使用或其他方式有关。