标签:
Spiral Matrix II
问题:
Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order.
思路:
矩阵的旋转常用模板
我的代码:
public class Solution { public int[][] generateMatrix(int n) { if(n < 0) return null; int[][] rst = new int[n][n]; int num = 1; for(int i = 0; i < n / 2; i++) { //left to right for(int k = i; k < n - 1 - i; k++) { rst[i][k] = num; num++; } //right to down for(int k = i; k < n - 1 - i; k++) { rst[k][n - i - 1] = num; num++; } //down to left for(int k = i; k < n - 1 - i; k++) { rst[n - i - 1][n - k - 1] = num; num++; } //left to top for(int k = i; k < n - 1 - i; k++) { rst[n - k - 1][i] = num; num++; } } if( n % 2 != 0) rst[n/2][n/2] = num; return rst; } }
学习之处:
标签:
原文地址:http://www.cnblogs.com/sunshisonghit/p/4320875.html