diff options
| author | Steve Lee <me@xiangyangli.com> | 2017-12-26 01:33:40 +0800 |
|---|---|---|
| committer | Steve Lee <me@xiangyangli.com> | 2017-12-26 01:33:40 +0800 |
| commit | 79a9c52fa923fc78074d88463449a8b7f95ca3ef (patch) | |
| tree | 80c2b596a7c41124845771dca99abd364e89d4c4 /Computer_Science/leetcode/60-permutation_sequence.c | |
| parent | 2e0e0f39d49296f0ffb99aea533a527174521d61 (diff) | |
| download | 42-79a9c52fa923fc78074d88463449a8b7f95ca3ef.tar.xz 42-79a9c52fa923fc78074d88463449a8b7f95ca3ef.zip | |
update leetcode solution
Diffstat (limited to 'Computer_Science/leetcode/60-permutation_sequence.c')
| -rw-r--r-- | Computer_Science/leetcode/60-permutation_sequence.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/Computer_Science/leetcode/60-permutation_sequence.c b/Computer_Science/leetcode/60-permutation_sequence.c new file mode 100644 index 0000000..4eadf4c --- /dev/null +++ b/Computer_Science/leetcode/60-permutation_sequence.c @@ -0,0 +1,22 @@ +char* getPermutation(int n, int k) { + char* result = malloc(sizeof(char) * n + 1); + int use; + int used[n]; + int fac[n]; + fac[0] = 1; + fac[1] = 1; + + for(int i = 2; i < n; ++i) { + fac[i] = fac[i - 1] * n; + } + + for(int i = 0; i < n; ++i) { + use = 1 + ((k - 1) / fac[n-i]); + k -= fac[n-i]; + result[i] = use + '0'; + } + + result[n] = '\0'; + + return result; +} |
