注意求全排列的时候used[i-1]=0,要记得还原。并且"".join(temp),temp必须是字符串的列表
used=[0]*n
ans=[]
ant=0
flag=0
answer=""
def dfs(index):
global ant,flag,answer
if flag==1:
return
if index==n:
ant+=1
if ant==k:
flag=1
answer="".join(ans)
return
for i in range(1,n+1):
if used[i-1]==0:
used[i-1]=1
ans.append(str(i))
dfs(index+1)
ans.pop(-1)
used[i-1]=0
dfs(0)
class Solution:
def getPermutation(self, n: int, k: int) -> str:
arr=[i+1 for i in range(n)]
temp=list(itertools.permutations(arr,n))
temp=list(map(str,temp[k-1]))
return "".join(temp)