C# 基于字符生成可跳过列表
我很肯定这个问题有一个专门术语,但不幸的是我不知道。 我有一个按字母顺序排列的字符集,要求创建具有最大长度的所有字符的组合 想法是(示例):C# 基于字符生成可跳过列表,c#,string,list,C#,String,List,我很肯定这个问题有一个专门术语,但不幸的是我不知道。 我有一个按字母顺序排列的字符集,要求创建具有最大长度的所有字符的组合 想法是(示例): 生成a、AA、AAA、AAAA、AAAA、AAAA、AAAA的集合 下一个:A,AB,ABA,ABAA,ABAA 下一个A,AB,ABB,ABBA,ABBAA 原因是: 我们必须查询一个提供搜索结果的API 但是如果我没有从AAA上的API中获得搜索命中率,我就不需要再搜索AAAA了,因为它也无法获得搜索命中率。然后我可以转到AAB 问题是: 我的问题
- 生成a、AA、AAA、AAAA、AAAA、AAAA、AAAA的集合
- 下一个:A,AB,ABA,ABAA,ABAA
- 下一个A,AB,ABB,ABBA,ABBAA
谢谢你的提示 您要寻找的是一种称为a的特定数据结构,但在您的案例中可能更具体地说是a Trie数据结构通常用于自动完成之类的事情。通过下图,如果有人键入“te”,我可以遍历Trie并查看之后会出现什么选项(tea、ted、ten) 据我所知,这似乎也适合您的用例
您是否可以查找
yield
上下文关键字?让您有机会通过方法动态生成IEnumerable
的成员。因此,它可能会增加到字母表中的所有26个字母?您是在寻找关于所有可能组合列表的帮助,还是在寻找关于如何在API调用中跳过生成的逻辑的帮助?是,我知道如何使用yield
,谢谢。但我的问题是如何在这里产生逻辑。很不清楚你有什么问题。。。显然,在递归解决方案中,有类似于if(continuerCursion)recursiveCall()else的返回代码>应该生成您想要的列表。。。因此,如果没有真正看到代码,就不可能真正提供帮助……这可能是一种有趣的方法。非常感谢。它可能有点过时,但是可以在这里找到一篇面向.NET的文章,看看类似的东西在实践中是如何工作的-