gpt4 book ai didi

c# - 找出给定长度的所有可能单词的好方法是什么

转载 作者:太空狗 更新时间:2023-10-29 19:48:30 25 4
gpt4 key购买 nike

我正在尝试在 C# 中创建一个生成以下输出字符串的算法:

AAAA
AAAB
AAAC
...and so on...
ZZZX
ZZZY
ZZZZ

实现此目标的最佳方法是什么?

public static IEnumerable<string> GetWords()
{
//Perform algorithm
yield return word;
}

最佳答案

好吧,如果长度是常量 4,那么这将处理它:

public static IEnumerable<String> GetWords()
{
for (Char c1 = 'A'; c1 <= 'Z'; c1++)
{
for (Char c2 = 'A'; c2 <= 'Z'; c2++)
{
for (Char c3 = 'A'; c3 <= 'Z'; c3++)
{
for (Char c4 = 'A'; c4 <= 'Z'; c4++)
{
yield return "" + c1 + c2 + c3 + c4;
}
}
}
}
}

如果长度是一个参数,这个递归解决方案将处理它:

public static IEnumerable<String> GetWords(Int32 length)
{
if (length <= 0)
yield break;

for (Char c = 'A'; c <= 'Z'; c++)
{
if (length > 1)
{
foreach (String restWord in GetWords(length - 1))
yield return c + restWord;
}
else
yield return "" + c;
}
}

关于c# - 找出给定长度的所有可能单词的好方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/312732/

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