
求老哥帮忙!
感觉好像和队列有关,但是不知道怎么操作!

输出可能的牌子背面排列数量,也有无法找到可能排序的可能,表示小蓝鲸们没有有序入场,有插队的可能,输出0
我有一个思路不一定正确,以样例2为例
- 首先遍历领牌顺序,统计好每个字母可能是的序号
- 倒序遍历进入顺序,并排入两个队列,需要进入第一个元素大于自己的队列(从前往后排)
- 统计遍历完进入顺序的次数,就是输出结果
(1)第一个是C,C可能是(4,5,7),如果C是4,进入一个队列,下一个C可能是(5,7),由于需要按顺序排队,所以每个队列中的序号需要从小到大排,那么到D,两个队列分别是【4】,【5,7】,D会无法按顺序进入队列,重新回退到第一个C
(2)第一个C如果是5,第二个C是4,按顺序进入队列,一直到第一个B,B可能是(2,3),如果B是2,那么就可以得到顺序 [3,1,2,6,7,4,5],完成计数后,回退至第一个B是3,那么可以得到顺序[2,1,3,6,7,4,5],再回退至第二个C是7继续
(3)如果所有字母可能的都无法遍历完进入顺序,那么结果就是0
想到一个暴力的方法,先给按字符输入顺序编上号,然后全排列n个数,对照生成的全排列比对字符,对上了就加一