首页 / 问答 / C#/.NET/.NET Core应用程序编程开发中实现字母A-Z中取N个字母的全排列有哪些方式呢?

C#/.NET/.NET Core应用程序编程开发中实现字母A-Z中取N个字母的全排列有哪些方式呢?

.NET C# 字母 .NET Core 算法 2.4K 次浏览
0

如题,在C#/.NET/.NET Core应用程序编程开发中,实现字母A-Z中取N个字母的全排列有哪些方式呢?比如现在需要从取3个字母的全排列,形如:aaa .. aaz .. aba .. abz .. aca .. acz .. azz .. baa .. baz .. bba .. bbz .. zzz,应该如何实现呢?除了最原始的使用for循环的方式,还有哪些更优雅,更简洁的实现方式?

回复 [×]
提交评论
请输入评论内容

3 个回答

  • 0

    一种使用LINQ实现的N个字母全排列的简洁方式,如下:

    核心算法:

    完整示例代码如下:

    输出结果:

    你可以通过调整int N = 3;中的N的值来指定任意长度的字母组合的全排列。

    Rector的个人主页

    Rector

    2020-04-17 回答

    • 0

      使用LINQ和SelectMany()方法实现任意长度字母组合的全排列的另一种方式,如下:

      Rector的个人主页

      Rector

      2020-04-17 回答

      • 0

        最原始的使用for循环实现的3个字母全排列的方案(仅参考),如下:

        Rector的个人主页

        Rector

        2020-04-17 回答

        我来回答