0060.排列序列
方法一:模拟
时间复杂度 $O(n^2)$,空间复杂度 $O(n)$。
func getPermutation(n int, k int) string {
ans, visable := "", make([]bool, n+1)
for i := 0; i < n; i++ {
factor := 1
for j := 1; j < n-i; j++ {
factor *= j
}
for j := 1; j <= n; j++ {
if !visable[j] {
if k > factor {
k -= factor
} else {
ans += fmt.Sprintf("%c", '0'+j)
visable[j] = true
break
}
}
}
}
return ans
}