博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode 58 Spiral Matrix II
阅读量:7210 次
发布时间:2019-06-29

本文共 899 字,大约阅读时间需要 2 分钟。

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 ]]
思路:与上一篇类似。仅仅要不越界就ok
public class Solution {	public int[][] generateMatrix(int n) {	    if (n == 0)			return new int[0][0];		int[][] matrix = new int[n][n];		int x1 = 0;		int y1 = 0;		int x2 = matrix.length - 1;		int y2 = matrix[0].length - 1;		int i = 0, j = 1;		while (x1 <= x2 && y1 <= y2) {			// up row			for (i = y1; i <= y2; ++i, j++)				matrix[x1][i] = j;			// right column			for (i = x1 + 1; i <= x2; ++i, j++)				matrix[i][y2] = j;			// bottom row			for (i = y2 - 1; x2 != x1 && i >= y1; --i, j++)				matrix[x2][i] = j;			// left column			for (i = x2 - 1; y1 != y2 && i > x1; --i, j++)				matrix[i][y1] = j;			x1++;			y1++;			x2--;			y2--;		}		return matrix;	}}

版权声明:本文博主原创文章,博客,未经同意不得转载。

你可能感兴趣的文章
Theano3.3-练习之逻辑回归
查看>>
利用RGB-D数据进行人体检测 带dataset
查看>>
live555的编译及使用
查看>>
C++builder XE 安装控件 及输出路径
查看>>
优点和阵列的缺点,并且一个链表
查看>>
CSS3透明属性opacity
查看>>
Genymotion模拟器的安装及常见问题解决方法
查看>>
PHP 乘法口诀表
查看>>
如何彻底关闭windows update
查看>>
SpringMVC+SwfUpload进行多文件同时上传
查看>>
ASP.NET Core中的依赖注入(2):依赖注入(DI)
查看>>
Java_JAVA6动态编译的问题
查看>>
scala 日期格式转换
查看>>
Filtering Specific Columns with cut
查看>>
多线程编程1-NSThread
查看>>
反馈组态的判别
查看>>
【Web】Rest API 验证授权如何做?
查看>>
Swift 中的 @autoclosure
查看>>
多迪将企业的Python工程师定位成哪几类?
查看>>
Rom 检测
查看>>