gpt4 book ai didi

算法问题 : letter combinations

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:38:45 24 4
gpt4 key购买 nike

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

将数字 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

当我有像 0123 这样的代码时,很容易对其进行编码。它显然会组成代码 NLTD。当引入像 5,6 或 8 这样的数字时,情况就不同了。像 051 这样的数字会导致不止一种可能性:

NVL 和 NFL

很明显,对于包含多个数字(如 5,6 或 8)的较长数字,情况会变得“更糟”。

由于我的数学很差,我还没有想出一个合适的解决方案来让我向程序提供一堆数字并让它吐出所有可能的字母组合。所以我很想得到一些帮助,因为我似乎无法弄清楚。挖掘了一些关于排列组合的信息,但没有运气。

感谢您提供任何建议/线索。我编写代码所需的语言是 PHP,但任何一般提示都将不胜感激。

更新:

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

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

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

最佳答案

它可以很容易地递归完成。

想法是要处理大小为 n 的整个代码,您必须首先处理 n - 1 位数字。一旦您获得了 n-1 位数字的所有答案,就可以通过为最后一个数字附加正确的字符来推导出整体的答案。

关于算法问题 : letter combinations,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/102468/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com