第k个排列思路

思路讲解:我们可以写一个判断记录项数,再用一个for循环输出每一项就可以了,然后一定要用exit(0),不然就会像我之前一样TLE,最后再写上搜索即可。
if(k==last+1){
cnt++;//记录项数
if(n==cnt){//项数是否匹配
for(int i=1;i<k;i++){第n项每一位
cout<<ans[i]<< " ";
}
exit(0);//结束
}
return;
}

5 个赞

@王梓涵 你好6

4 个赞

9(6 翻了! )

2 个赞

《不然就会像我之前一样TLE》 @王梓涵

3 个赞

1.这题目不用项数,只用判断标记数组有没有经过就好了,因为k就是当前的项数

2.exit(0)是直接退出了整个程序

5 个赞

很有道理

1 个赞