- public int[] constructArray(int n, int k) {
- //偶数位从1递增,奇数位从n递减,得到k-1个不同间隔,最后都使间隔为1
- int[] ans=new int[n];
- int cur1=2;
- int cur2=n;
- ans[0]=1;
- int i=1;
- for(i=1;i<n;i++){
- if(k==1) break;
- if(i%2!=0){
- ans[i]=cur2--;
- }else{
- ans[i]=cur1++;
- }
- k--;
- }
- if(i%2==0){
- for(;i<n;i++)
- ans[i]=cur2--;
- }else{
- for(;i<n;i++)
- ans[i]=cur1++;
- }
- return ans;
- }