leetcode JAVA Spiral Matrix II 难度系数3 3.19

来源:互联网 发布:微商美图软件 编辑:程序博客网 时间:2024/06/14 17:55

Question:

Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order.

For example,
Given n = 3,

You should return the following matrix:
[ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ]]
public class Solution {   public int[][] generateMatrix(int n) {int[][] result = new int[n][n];if (n < 1)return result;int top = 0, bottom = n - 1, left = 0, right = n - 1;int loop = (n + 1) / 2;for (int i = 0, num = 1; i < loop; i++) {for (int j = left; j <= right; j++) {result[top][j] = num++;}top++;if (top > bottom)return result;for (int j = top; j <= bottom; j++) {result[j][right] = num++;}right--;if (left > right)return result;for (int j = right; j >= left; j--) {result[bottom][j] = num++;}bottom--;if(top>bottom) return result;for(int j=bottom;j>=top;j--){result[j][left]=num++;}left++;}return result;}}


0 0
原创粉丝点击