算法系列——Spiral Matrix II
来源:互联网 发布:航拍视频软件 编辑:程序博客网 时间:2024/05/16 00:47
题目描述
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 ]]
解题思路
这是Spiral Matrix 简化版本,基本思路一致,只不过行列数相同,均等于n.对Spiral Matrix的结果简化即可。
程序实现
class Solution { public int[][] generateMatrix(int n) { if(n<0) return null; int matrix[][]=new int[n][n]; if(n==0) return matrix; int start=0; int num=1; while(start*2<n){ int end=n-1-start; //从左到右打印一行 for(int i=start;i<=end;i++) matrix[start][i]=num++; //从上往下打印一列 if(start<end){ for(int i=start+1;i<=end;i++) matrix[i][end]=num++; } //从右往左打印一行 if(start<end){ for(int i=end-1;i>=start;i--) matrix[end][i]=num++; } //从下往上打印一列 if(start<end-1){ for(int i=end-1;i>=start+1;i--) matrix[i][start]=num++; } start++; } return matrix; }}
阅读全文
0 0
- 算法系列——Spiral Matrix II
- 算法系列——Spiral Matrix
- 算法系列--Spiral Matrix
- LeetCode——Spiral Matrix II
- leetcode 059 —— Spiral Matrix II
- LeetCode59——Spiral Matrix II
- leetcode题集——spiral-matrix-ii
- Algorithms—59.Spiral Matrix II
- leetcode系列(62)Spiral Matrix, Spiral Matrix II
- [leetcode刷题系列]Spiral Matrix II
- leetcode系列(3)Spiral Matrix II
- Spiral Matrix && Spiral Matrix II
- leetcode——59——Spiral Matrix II
- 15.11—细节实现题—Spiral Matrix II
- LeetCode: Spiral Matrix II
- LeetCode Spiral Matrix II
- [Leetcode] Spiral Matrix II
- LeetCode : Spiral Matrix II
- Redis整合Spring结合使用缓存实例
- 1001.A+B和C
- scala中String的单引号和三引号的区别?
- 清华大学2002年机试-有多少不同的面值组合?-1072
- Quartz基础篇(三)Scheduler模块
- 算法系列——Spiral Matrix II
- Unity 5实战 使用C#和Unity开发多平台游戏pdf
- 几个大公司网页CSS初始化
- JavaScript高级程序设计(面向对象的程序设计)
- Qt5.9.1 qmake中文手册(一)
- 最长上升子序列II
- redis缓存技术
- 控制台程序的中文输出乱码问题,printf,wprintf与setlocale
- c++学习-std::list