Skip to content

Instantly share code, notes, and snippets.

@mountop
Created April 14, 2014 23:24
vector<vector<int> > generateMatrix(int n) {
vector<vector<int>> matrix;
if(n==0) return matrix;
if(n==1){
vector<int> v;
v.push_back(n);
matrix.push_back(v);
return matrix;
}
for(int i=0; i<n; i++){
vector<int> v(n);
matrix.push_back(v);
}
int i, j, k, m, l;
int num=1;
for(i=0; i<(n+1)/2; i++){
for(j=i; j<n-i; j++)
matrix[i][j]=num++;
for(k=i+1; k<n-i; k++)
matrix[k][j-1]=num++;
for(m=j-2; m>=i; m--)
matrix[k-1][m]=num++;
for(l=k-2; l>i; l--)
matrix[l][i]=num++;
}
return matrix;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment