已知answer数组是一个1-n的数组,后面的参数k的意思是相邻数组的差的绝对值的数组delta中的不同整数的个数。
已知delta数组中整数个数为n-1个。
思路:
已知当k等于1的时候就是递增就行
k=2是只要留3个数进行跳跃操作就行
K等于3的时候留四个。
以此类推。。。
var constructArray = function(n, k) {
an = new Array();
for(let i=1;i<n-k+1;i++)
an.push(i);
var flag = 1;
var delta = k;
while(delta>0)
{
an.push(an[an.length-1]+(flag*delta))
delta-=1;
flag=-flag;
}
return an;
};
兄弟们加油啊!