蓝桥杯蛇形填数
public class lanqiao {
static int[][] a=new int[1000][1000];
static int count=1;
public static void main(String[] args) {
for (int i=0;i<100;i++){
if ((i+1)%2==0) {
for (int k = 0; k <= i; k++) {
a[k][i - k] = count;
count++;
}
}
if ((i+1)%2!=0){
for (int j=i;j>=0;j--){
a[j][i-j]=count;
count++;
}
}
}
System.out.println(a[19][19]);
}
答案是761
思路是利用双层循环,第一层为顺序斜行,第二层为每一斜行的填充数个数
,有点类似于冒泡排序的思路。
需要注意的是方向也是有规律的,正好对应奇偶性。