问题标签 [combinatorics]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3286 浏览

math - 单场淘汰锦标赛 - 可能组合的数量

8 人参加单场淘汰赛的组合数是多少?比赛总数为 7 场,但我还需要这组比赛的组合数

0 投票
4 回答
10134 浏览

php - 在php中连接n个数组的值

我有未知数量的数组,每个数组都包含未知数量的单词。我想连接每个列表中的值,以便将单词的所有可能变体存储到最终数组中。

例如,如果数组 1 包含:

数组 2 包含:

数组 3 包含:

我希望输出是:

可能有超过 3 个列表,每个列表很可能有超过 2 个单词。

我想在 PHP 中执行此操作。

如果我知道列表的数量,我就知道该怎么做,尽管它可能不是最节省资源的方法。foreach但是如果你知道数组的数量,嵌套循环就可以工作。如果你不这样做呢?如果假设有 100 个数组,每个数组包含 100 个单词,那么有哪些方法可以解决这个问题。还是1000?

谢谢!

0 投票
32 回答
112410 浏览

algorithm - 如何打印给定电话号码可以代表的所有可能的字母组合?

我刚刚尝试了我的第一次编程面试,其中一个问题是编写一个程序,给定一个 7 位数的电话号码,可以打印每个数字可以代表的所有可能的字母组合。

问题的第二部分是如果这将是一个 12 位数的国际号码呢?这将如何影响您的设计。

我没有我在采访中写的代码,但我觉得他对此并不满意。
做这个的最好方式是什么?

0 投票
4 回答
8248 浏览

java - 重复变化的代码(组合)?

有没有人有 Java 代码来生成所有重复的变化?

有大量可用的排列和组合示例,而变体必须是最简单的一种……浪费时间重新发明轮子感觉很愚蠢(为此必须编写大量代码)。

重复的变化的一个例子可能是这样的:

谢谢!

0 投票
1 回答
495 浏览

java - 枚举每五张牌组合

我刚刚大脑受阻,我有一个 Deck 对象,并希望以迭代的方式从中获取每 5 张卡片组合。有人可以告诉我如何做到这一点,我想它会是:

它是否正确?

谢谢

0 投票
2 回答
876 浏览

java - 计算每个扑克起手牌的唯一索引

由于一副牌中有 52 张牌,我们知道有52 choose 2 = 1326不同的对局,但是在翻牌前扑克中,这可以分为 169 种不同的手牌,例如 AK 非同花和 AK 同花,无论是 A 红桃 K 红桃 K 黑桃 A翻牌前的差异。我的问题是,是否有一个很好的数学属性,我可以在其中唯一地索引这 169 手牌中的每一手(最好从 0 到 168)。我正在尝试创建一个查找表,double[][] = new double [169][169]但无法将诸如 AK(同花色的 A 和 K)之类的手牌表示更改为该数组中的唯一索引。

0 投票
1 回答
819 浏览

math - 如何计算将一种排列变为另一种排列的循环?

我正在寻找一种算法,它给定序列的两个排列(例如[2, 3, 1, 4][4, 1, 3, 2])计算将第一个转换为第二个所需的周期[[0, 3], [1, 2]](例如, )。

来自 mathworld 的链接说 Mathematica 的 ToCycle 函数可以做到这一点,但遗憾的是我手头没有任何 Mathematica 许可证......我很乐意收到任何指向任何 FOSS 语言或数学包中算法实现的指针。

谢谢!

0 投票
3 回答
7531 浏览

vb.net - 如何在VB中对数组元素进行所有可能的求和组合

如果有一个包含元素的数组:1,2,3,4,程序应该返回另一个数组,其中包含所有组合的总和:

0 投票
4 回答
1201 浏览

probability - 组合数学、概率、骰子

我的一个朋友问:如果我有两个骰子并且我都扔了它们,那么(两个骰子的数字中)最常见的总和是多少?

我写了一个小脚本:

哪个打印:

我的问题是,为什么 11 比 12 更频繁?在这两种情况下,只有一种方法(或两种,如果你也计算反向)如何获得这样的总和(5 + 6, 6 + 6),所以我期望相同的概率..?

0 投票
3 回答
4552 浏览

python - 为“drive ya crazy”拼图生成所有独特的组合

不久前,我编写了一个简单的 python 程序来暴力破解驱动 ya 坚果难题的单一解决方案。

替代文字
(来源:tabbykat.com

拼图由 7 个六边形组成,上面有数字 1-6,所有棋子必须对齐,以便每个数字与下一个棋子上的相同数字相邻。

该拼图具有~1.4G非独特的可能性:您可以7!选择按顺序对碎片进行排序(例如,center=0top=1,按顺时针顺序继续...)。对碎片进行排序后,您可以以 6 种方式旋转每个碎片(每个碎片都是六边形),因此6**7对于 7 个碎片的给定排列,您可以获得可能的旋转。总计:7!*(6**7)=~1.4G可能性。以下 python 代码生成这些可能的解决方案:

但是,请注意,该拼图只有~0.2G 唯一的可能解决方案,因为您必须将可能性总数除以 6,因为每个可能的解决方案相当于 5 个其他解决方案(只需将整个拼图旋转 1/6 圈)。

有没有更好的方法来只为这个谜题生成独特的可能性?