#include<iostream>
#include<vector>
#define min(a,b) (a>b?b:a)
using namespace std;
class Solution {
public:
vector<int> constructArray(int n, int k) {
int x= k%2==0? k/2+1 : (k+1)/2;
vector<int> res;
if(k%2==0)
{
res.push_back(x);
int current_add_number=1;
int count=1;
while(count<=k)
{
res.push_back(x-current_add_number);
res.push_back(x+current_add_number);
current_add_number++;
count+=2;
}
res.pop_back();
}
else
{
res.push_back(x);
int current_add_number=1;
int count=1;
while(count<k)
{
res.push_back(x+current_add_number);
res.push_back(x-current_add_number);
current_add_number++;
count+=2;
}
}
for(int i=k+1;i<=n;i++)
res.push_back(i);
return res;
}
};
一种构造方法