首页 > 代码库 > Spiral Matrix II
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 ] ]
public class Solution { public int[][] generateMatrix(int n) { int [][]a=new int[n][n]; int val=0; for(int layer=0;layer<n/2;++layer){ int first=layer; int last=n-1-layer; for(int i=first;i<last;++i){ val++; a[first][i]=val; } for(int j=first;j<last;j++){ val++; a[j][last]=val; } for(int k=last;k>first;k--){ val++; a[last][k]=val; } for(int l=last;l>layer;l--){ val++; a[l][first]=val; } } if(n%2!=0) a[n/2][n/2]=n*n; return a; } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。