Problem 60: Permutation Sequence
思路
public class Solution {
public String getPermutation(int n, int k) {
LinkedList<Integer> list = new LinkedList<Integer>();
for (int i = 1; i <= n; i++) {
list.add(i);
}
int fact = 1;
for (int i = 2; i <= n; i++) {
fact *= i;
}
StringBuilder sb = new StringBuilder();
for (k--; n > 0; n--) {
fact /= n;
sb.append(list.remove(k / fact));
k %= fact;
}
return sb.toString();
}
}易错点
Last updated