考虑一组数字网格,如:
1 1 2 1 2 3
2 2 2 2 3
3 3 3
换句话说,一个正方形网格,其中每个位置的数字遵循直角图案。如何编写创建,填充和返回这样的二维数组的函数?
(另外,我想知道Math.max(a,b)是否对填充网格很有用。我想知道它是否可以返回两个输入a和b之间哪个值更大。)
我已经设置了一个功能,但我不知道从哪里开始:
int[][] cornerPattern(int squareSize) {
}
提示没问题
答案 0 :(得分:1)
大多数java程序都可以通过查找模式轻松解决或至少启动。
那么这里的模式是什么?
模式是数组索引与该位置元素之间的关系。
每个有0的索引都有1个,所以arr [0] [0]是1.看那里的模式?
其中[1]的每个索引都有2.所以arr [0] [1],arr [1] [0]和arr [1] [1]是2,同样是3的条件。
阵列的大小也以相同的方式定义。 3,将[3] [3]矩阵
希望有所帮助。 :)
您正在寻找类似的东西
int m =//input;
int[][] arr = new int[m][m];
for(int i=0;i<m;i++){
for(int j=0;j<m;j++){
if(i>=j)
arr[i][j]=i;
else
arr[i][j]=j;
System.out.print(arr[i][j]);
}
System.out.println();
}