蛇形填数
题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
如下图所示,小明用从 111 开始的正整数“蛇形”填充无限大的矩阵。
1 2 6 7 15 ...
3 5 8 14 ...
4 9 13 ...
10 12 ...
11 ...
...
容易看出矩阵第二行第二列中的数是 555。请你计算矩阵中第 202020 行第 202020 列的数是多少?
运行限制
最大运行时间:1s
最大运行内存: 128M
题目分析:
- 使用数组存储
- 嵌套循环暴力破解
题目代码:
/**
* @author:chen
* @date:2022
*/
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int[][] nums = new int[50][50]; //用数组来存储
int k = 2;
int i = 0, j = 0;
nums[i][j] = 1;
while (i + 1 < 49 && j + 1 < 49) { //判定边界条件
//往右走
if (true) {
j += 1;
nums[i][j] = k++;
}
//往左下走
while (j - 1 >= 0) {
i += 1;
j -= 1;
nums[i][j] = k++;
}
//往下走
if (true) {
i = i + 1;
nums[i][j] = k++;
}
//往右上走
while (i - 1 >= 0) {
i = i - 1;
j = j + 1;
nums[i][j] = k++;
}
}
System.out.println(nums[19][19]);//761
}
}