for n = 3:
1 3 6
2 5 8
4 7 9
this is diffrent from diagonal printing.
如果给出n,那么我们必须在2d矩阵中打印,直到n。
答案 0 :(得分:0)
public static int[][] zigzag(final int size)
{
int[][] data = new int[size][size];
int i = 1;
int j = 1;
for (int element = 0; element < size * size; element++)
{
data[i - 1][j - 1] = element;
if ((i + j) % 2 == 0)
{
// Even stripes
if (j < size)
j++;
else
i+= 2;
if (i > 1)
i--;
}
else
{
// Odd stripes
if (i < size)
i++;
else
j+= 2;
if (j > 1)
j--;
}
}
return data;
}