螺旋矩阵 II
题目
给你一个数n生成一个包含1-n^2的螺旋形矩阵
样例
n = 3
矩阵为
题解
public class Solution {
/**
* @param n an integer
* @return a square matrix
*/
public int[][] generateMatrix(int n) {
int[][] matrix = new int[n][n];
int count = 0;
int num = 0;
while (2 * count < n)
{
for (int i=count;i<n-count;i++)
{
matrix[count][i] = ++num;
}
for (int i=count+1;i<n-count;i++)
{
matrix[i][n-count-1] = ++num;
}
if (2 * count == n - 1)
{
break;
}
for (int i=n-count-2;i>=count;i--)
{
matrix[n-count-1][i] = ++num;
}
for (int i=n-count-2;i>=count+1;i--)
{
matrix[i][count] = ++num;
}
count++;
}
return matrix;
}
}
Last Update 2016.11.13
本文介绍了一个生成螺旋矩阵的算法,该算法能够根据给定的整数n生成一个n×n的螺旋形矩阵,矩阵中填充从1到n²的整数。通过四个方向的循环填充实现了这一过程。
359

被折叠的 条评论
为什么被折叠?



