Spiral Matrix II
Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order.
For example,
Given n = 3
,
[ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ]耗时:4ms。
class Solution {
public:
vector<vector<int>> generateMatrix(int n) {
vector<vector<int>> v;
v.resize(n);
for(int i = 0;i<n;i++)
{
v[i].resize(n);
}
int count = 1;
int i = -1, j = -1;
int t = 0;
while(count <= n*n)
{
i++;
j++;
while(i < n - t)
{
v[j][i] = count++;
i++;
}
i--;
j++;
while(j<n-t)
{
v[j][i] = count++;
j++;
}
j--;
i--;
while(i>=0+t)
{
v[j][i] = count++;
i--;
}
i++;
j--;
while(j >= 1+t)
{
v[j][i] = count++;
j--;
}
t++;
}
return v;
}
};