1. 题目
2. 解法
2.1 解法一(思维法)
- 时间复杂度
- 空间复杂度
- 代码
class Solution {
public:
vector<int> constructArray(int n, int k) {
vector<int> ans;
for (int i=1; i<n-k; ++i) { // 重复的部分差值为1
ans.push_back(i);
}
for (int i=n-k, j=n; i<=j; ++i,--j) { // 从两边向中间缩进
ans.push_back(i);
if (i != j) {
ans.push_back(j);
}
}
return ans;
}
};