public class Solution {
public String getPermutation(int n, int k) {
int[] num = new int[n];
int percount = 1;
for (int i=0; i<n; i++) {
num[i] = i+1;
percount *= (i+1);
}
k--; //index is 0 based.
StringBuilder sb = new StringBuilder();
for (int i=0; i<n; i++) {
percount /= (n-i);
int index = k/percount;
sb.append(num[index]);
for (int j=index; j<n-i-1; j++) {
num[j] = num[j+1];
}
k %= percount;
}
return sb.toString();
}
}
没有评论:
发表评论