leetcode:Spiral Matrix II
来源:互联网 发布:java web 项目路径 编辑:程序博客网 时间:2024/05/29 18:00
Given an integer n, generate a square matrix filled with elements from 1 ton2 in spiral order.
For example,
Given n = 3
,
[ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ]]
题目要求n × n矩阵用1 到n^n的数字环形围绕起来
显然,数字是递增的,我首先分别打印出了在n = 5的情况下的 行列坐标的值,就直接发现了规律了
n = 5的情况,第一次行列的最大和最小分别是1 5
行:1,1,1,1, 1,2,3,4,5, 5,5,5,5, 4,3,2
列:1,2,3,4, 5,5,5,5,5, 4,3,2,1, 1,1,1
第二次的行列的最大和最小分别是 2, 4
行: 2,2, 2,3,4, 4,4, 3
列: 2,3, 4,4,4, 3,2, 2
看了这两个例子后我直接推出规律:
对于 假设行列的最大最小分别是max, min
对应的row col坐标
row 的坐标= (max - min + 1) 个min, min + 1 ......max - 1, (max - min + 1)个max, max - 1, max - 2 ......min + 1
col 的坐标= min, min + 1 ......max, (max - min - 1)个max,min, min + 1,......max, (max - min - 1)个min
具体看代码,很直白的,代码如下:
public class Solution { public int[][] generateMatrix(int n) { int arr[][] = null; if(n >= 0){ arr = new int[n][n]; int num = 1; int len = n * n; int row = 0, col = n - 1; while(row < col){ for(int i = row; i <= col; ++i){ arr[row][i] = num++; } for(int i = row + 1; i < col; ++i){ arr[i][col] = num++; } for(int i = col; i >= row; --i){ arr[col][i] = num++; } for(int i = col - 1; i > row; --i){ arr[i][row] = num++; } row++; col--; } if(row == col)arr[row][col] = num; } return arr; }}
0 0
- LeetCode: Spiral Matrix II
- LeetCode Spiral Matrix II
- [Leetcode] Spiral Matrix II
- LeetCode : Spiral Matrix II
- [LeetCode] Spiral Matrix II
- [LeetCode]Spiral Matrix II
- [leetcode]Spiral Matrix II
- LeetCode-Spiral Matrix II
- [leetcode] Spiral Matrix II
- LeetCode - Spiral Matrix II
- Leetcode: Spiral Matrix II
- 【LeetCode】Spiral Matrix II
- Leetcode Spiral Matrix II
- [LeetCode] Spiral Matrix II
- LeetCode | Spiral Matrix II
- LeetCode Spiral Matrix II
- Leetcode: Spiral Matrix II
- Spiral Matrix II -- LeetCode
- Java笔试题集锦
- 苹果电脑安装双系统--win7
- 面试题:两个整数不使用比较运算符和API得到更大的那个值
- PYTHON 虚拟环境
- 我为何不使用SSH框架,我对SSH框架的看法
- leetcode:Spiral Matrix II
- java观察者模式学习笔记
- Android TextView设置个别字体样式
- UI基础-基础控件-0323-xcode使用与UIView的几个基本属性
- 使用AudioManager设置Android系统的音量
- 查找算法
- java基础笔试题汇总
- 饮料供货
- 推荐系统的常用算法概述