c# - 获取一个集合的所有唯一排列,其中包含 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++ - 为什么我的 while 循环在我的 C++ 猜数游戏中永远不会结束?
- sql - 如何将重复查询的结果存储在 Oracle 的内存中?
- wpf - 在 OnRender 中绘制一些东西并使用背景
- reactjs - Reactjs:将数组作为道具传递给子函数组件。修改子数组导致状态突变异常
- python - 使用 Sklearn 加载本地文件,尝试显示任何图像返回 emtpy
- r - 在 R 中对大数据进行高效字符串匹配(和索引)的提示?
- google-apps-script - 有没有办法让谷歌表单响应记录在表格中,具体取决于填写表格的哪个部分?
- adobe - 有没有办法在 After Effects 中移动播放头/当前时间?
- sql-server - 在 PowerShell 中使用 Invoke-Sqlcmd 时在 SQL 查询中保留注释文本?
- r - 我的数据中的一列出现错误“未知列”