首页 > 解决方案 > 获取一个集合的所有唯一排列,其中包含 2 个带限制的不同字符

问题描述

所以我四处寻找,老实说找不到解决方案。

我完全迷失了,有这样的日子。

假设我有这一套

string[] arr = { "N", "N", "N", "N", "O", "O", "O", "O" };

我想找到所有可能的唯一排列,其中的“O”永远不会多于“N”之前的“N”。

即如果在索引处[2],1"N"和 1"O"已经出现在它之前,那么arr[2]必须持有一个"N".["N","O","N",...]

我想编写一个函数,它可以为任何大小的集合输出遵循这些规则的所有排列的二维数组。

任何帮助将不胜感激。

标签: c#algorithm

解决方案


推荐阅读