力扣(LeetCode)60. 排列序列(C++)
创始人
2024-02-12 21:37:13
0

枚举

枚举每一位可能的数字。
dd
如图。算法流程如上图。

思路分析 :
一个数 nnn ,可以组成的排列数量有 n!n!n! 。当首位确定,剩余位能组成的排列数量 (n−1)!(n-1)!(n−1)! ,依次类推 (n−2)!/(n−3)!/(n−4)!/…/2!/1!/0!(n-2)!/(n-3)!/(n-4)!/\dots/2!/1!/0!(n−2)!/(n−3)!/(n−4)!/…/2!/1!/0! 。对照算法流程图,发现,对于同一个位置,按字典序枚举,当权重 kkk 大于当前位置确定后的排列数量时,我们减去这个排列数量;当权重 kkk 小于等于排列当前位置确定后的排列数量时,就可以确定当前位置的数。

class Solution {
public:string getPermutation(int n, int k) {string ans;vector st(10,false);for(int i = 0 ;iint fact = 1;for(int j = 1;j<=n-i-1;j++) fact*=j;for(int j = 1;j<=n;j++){if(!st[j]){if(factans+=to_string(j);st[j] = true;break;}}}}return ans ; }
};

时间复杂度 O(n2)O(n^2)O(n2) , 遍历 nnn 个位置,对于每个位置枚举 nnn 个数的时间复杂度 O(n2)O(n^2)O(n2) 。

空间复杂度 O(n)O(n)O(n) ,boolboolbool 数组的空间复杂度 O(n)O(n)O(n) 。

致语

理解思路很重要!
欢迎读者在评论区留言,答主看到就会回复的。

AC

AC

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...