这题要求好数字不能相邻,我选择把最大的那k个数作为好数字,并且在它们之间插入小于这些好数字的数,我选择从n-(k-1)-1开始向下遍历,把这里的数字插入好数字之间

最后在n-2*k至1之间遍历,把剩下的全部插进去



import java.util.ArrayList;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner scanner=new Scanner(System.in);
		int n=scanner.nextInt();
		int k=scanner.nextInt();
		ArrayList<Integer> list=new ArrayList<>();
		int count=0;
		for (int i = n-(k-1); i <=n ; i++) {	
			count++;
			list.add(i);
			int t=n-(k-1)-count;
			if(t==0)break;
			list.add(t);
		}
		for (int i = n-2*k; i > 0 ; i--) {
			list.add(i);
		}
		for(Integer x:list) {
			System.out.print(x+" ");
		}

	}

}