2024每日刷题(113)
Leetcode—60. 排列序列
算法思想
实现代码
class Solution {
public:
string getPermutation(int n, int k) {
vector<int> nums(n);
// f[i] = i!
vector<int> f(n + 1, 1);
string ans;
iota(nums.begin(), nums.end(), 1);
for(int i = 2; i < n; i++) {
f[i] = f[i - 1] * i;
}
k--;
for(int i = n - 1; i >= 0; i--) {
int j = k / f[i];
k = k % f[i];
ans += to_string(nums[j]);
nums.erase(nums.begin() + j);
}
return ans;
}
};
运行结果
之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!