全排列,计数,以前好像做过;
又卡了一下,后面二刷一下;
具体代码:class Solution {
public:
string getPermutation(int n, int k) {
vector<char>vec;
int num=1;
for(int i=1;i<=n;i++){
vec.push_back('0'+i);
num*=i;
}
string ret="";
int cnt=0;
k--;
while(k!=0){
num/=n-cnt;
cnt++;
int index=k/num;
ret+=vec[index];
vec.erase(vec.begin()+index);
k=k%num;
}
for(auto& ch:vec){
ret.push_back(ch);
}
return ret;
}
};
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)