相关疑难解决方法(0)

从n返回k个元素的所有组合的算法

我想写一个函数,它将一个字母数组作为参数,并选择一些字母.

假设您提供了8个字母的数组,并希望从中选择3个字母.然后你应该得到:

8! / ((8 - 3)! * 3!) = 56
Run Code Online (Sandbox Code Playgroud)

数组(或单词)返回,每个包含3个字母.

algorithm combinations

551
推荐指数
23
解决办法
43万
查看次数

如何获取数组的所有子集?

给定一个数组: [dog, cat, mouse]

什么是最优雅的创作方式:

[,,]
[,,mouse]
[,cat,]
[,cat,mouse]
[dog,,]
[dog,,mouse]
[dog,cat,]
[dog,cat,mouse]
Run Code Online (Sandbox Code Playgroud)

我需要这个适用于任何大小的数组.

这本质上是一个二进制计数器,其中数组索引代表位.这可能让我使用一些按位运算来计算,但我看不到将其转换为数组索引的好方法.

c# arrays

16
推荐指数
5
解决办法
1万
查看次数

算法问题:字母组合

我正在尝试编写一段代码来执行以下操作:

取数字0到9并为此数字指定一个或多个字母.例如:

0 = N,
1 = L,
2 = T,
3 = D,
4 = R,
5 = V or F,
6 = B or P,
7 = Z,
8 = H or CH or J,
9 = G
Run Code Online (Sandbox Code Playgroud)

当我有像0123这样的代码时,对它进行编码是一件容易的事.它显然会构成代码NLTD.当引入像5,6或8这样的数字时,情况会有所不同.像051这样的数字会导致多种可能性:

NVL和NFL

很明显,对于包含5,6或8等几个数字的较长数字,这甚至会变得"更糟".

由于在数学方面非常糟糕,我还没有能够提出一个像样的解决方案,这个解决方案可以让我为程序提供一堆数字并让它吐出所有可能的字母组合.所以我会喜欢它的一些帮助,因为我似乎无法弄明白.挖出一些关于排列和组合的信息,但没有运气.

感谢您的任何建议/线索.我需要编写代码的语言是PHP,但任何一般提示都将受到高度赞赏.

更新:

更多背景知识:(非常感谢快速回复!)

我的问题背后的想法是构建一个脚本,帮助人们轻松地将他们想要记住的数字转换为更容易记住的单词.这有时被称为"伪数字学".

我希望脚本能够为我提供所有可能的组合,然后根据剥离的单词数据库进行组合.这些被删除的单词来自字典,并且我在我的问题中提到的所有字母都被删除了.这样,要编码的数字通常可以容易地与一个或多个数据库记录相关.当这种情况发生时,您最终会得到一个单词列表,您可以使用这些单词来记住您想要记住的数字.

algorithm combinations unique

6
推荐指数
2
解决办法
5676
查看次数

标签 统计

algorithm ×2

combinations ×2

arrays ×1

c# ×1

unique ×1