60. Permutation Sequence
# Medium
class Solution:
def helper(self, nums, level, result, k):
if len(level) == len(nums):
result.append(level)
return
for i in range(0, len(nums)):
if nums[i] in level:
continue
level = level + nums[i]
self.helper(nums, level, result)
level = level[:-1]
def getPermutation(self, n: int, k: int) -> str:
# edge case
result = []
level = ''
nums = ''
for i in range(0, n):
nums = nums + str(i+1)
if len(nums) <= 1 or n == 1:
return nums
# regular case
self.helper(nums, level, result, k)
return result[k-1]Last updated