题目:
The set [1,2,3,...,n]
contains a total of n! unique permutations.
By listing and labeling all of the permutations in order, we get the following sequence for n = 3:
"123"
"132"
"213"
"231"
"312"
"321"
Given n and k, return the kth permutation sequence.
Note:
- Given n will be between 1 and 9 inclusive.
- Given k will be between 1 and n! inclusive.
Example 1:
Input: n = 3, k = 3 Output: "213"
Example 2:
Input: n = 4, k = 9 Output: "2314"
代码:
class Solution {
public:
string getPermutation(int n, int k) {
vector<int> nums(n+1, 0);
vector<char> letter(n+1, 0);
nums[0] = 1;
for(int i = 1; i <= n; i++)
nums[i] = nums[i - 1] * i;
for(int i = 0; i < n; i++)
letter[i] = i + 1 + '0';
string res = "";
k--;
for(int i = 0; i<n; i++)
{
int idx = k / nums[n - i - 1];
res += letter[idx];
letter.erase(letter.begin()+idx);
k -= nums[n - i - 1] * idx;
}
return res;
}
};
题外话:
转眼又到了月末,夏天转瞬就过去了,秋风吹起了凉意。
最近因为ddl加上团队项目有些顾及不暇,整体感觉有些疲惫。
过去一个月,经历了一些冲击,也收获了难得的经历,有晴有缺。最近的工作节奏是长线的压力,到下周算是阶段性结束,尽管还有很多任务没有完成,不过要坚持下去呀!令人感激的是,今天和boss说希望多一些时间来完成下周的ddl,他居然非常轻松地答应了,真的好开心啊!就像是小时候,努力了很久想要做一件事,然后得到了认同和支持。要记下老板的这次宽容,还有给我的空间,记笔记记笔记。这次的项目还有一个很深刻的体会是,不能轻言放弃,机会就在下一次坚持的第二天看到训练结果的时候!哈哈哈哈哈 真的有好多感触~ 具体的下周末再记下来好了~ 虽然经历了很多苦难和挫折,还有一些打击,但是回过头去看,对自己宽容一些,其实都是满满的收获啊,连并着那些失败和曾经失落的羽毛。
最近看到一句话,要给生活留白,就会有意想不到的惊喜。
虽然已经火烧眉毛,我还是会放过自己让自己睡饱了觉,好好吃东西,哈哈哈哈,因为ddl不是天天有,但是日子是自己的,一定要开心的过啊!好了,又说了好多碎碎念。希望下个月的flag(因为各种项目推迟要做的事情)可以一个个的完成!
再见,八月,再见,夏天。你好,九月,你好,秋天。