This problem is a little tricky because it requires some math thinking.
Solution:
# T:O(n^2) S:O(n) class Solution: # @param {integer} n # @param {integer} k # @return {string} def getPermutation(self, n, k): res, k, fac = '', k-1, 1 for i in range(1, n): fac *= i num = [1, 2, 3, 4, 5, 6, 7, 8, 9] for i in reversed(range(n)): curr = num[k/fac] res += str(curr) num.remove(curr) if i !=0: k %= fac fac /= i return resRun Time: 44 ms
No comments:
Post a Comment