[LC] 59. Spiral Matrix II
2024-10-08 19:55:32
Given a positive integer n, generate a square matrix filled with elements from 1 to n2 in spiral order.
Example:
Input: 3
Output:
[
[ 1, 2, 3 ],
[ 8, 9, 4 ],
[ 7, 6, 5 ]
]
class Solution {
public int[][] generateMatrix(int n) {
int[][] matrix = new int[n][n];
int beginRow = 0, endRow = n - 1;
int beginCol = 0, endCol = n - 1;
int num = 1;
while(beginRow <= endRow && beginCol <= endCol) {
for(int i = beginCol; i <= endCol; i++) {
matrix[beginRow][i] = num;
num += 1;
}
beginRow += 1; for (int i = beginRow; i <= endRow; i++) {
matrix[i][endCol] = num;
num += 1;
}
endCol -= 1;
// no need to check boarder b/c it is square
for (int i = endCol; i >= beginCol; i--) {
matrix[endRow][i] = num;
num += 1;
}
endRow -= 1; for (int i = endRow; i >= beginRow; i--) {
matrix[i][beginCol] = num;
num += 1;
}
beginCol += 1;
}
return matrix;
}
}
最新文章
- 马后炮之12306抢票工具(四)--抢票Demo,2014年1月9日终结版
- 判断是否IPv6网络
- raspberry pi 如何汉化显示中文
- 从windows到Linux-ubuntu新手
- [Angular 2] Dispatching Action with Payloads and type to Reducers
- SNMP WINDOWS系统的命令行工具下载
- 在Cenos系统安装Python3.5版本,使P2和P3共存
- 七月SSL行业新闻回顾
- HTML基础教程-段落
- YPbPr 和 YCbCr的区别 .
- 谈谈如何选择合适的MySQL数据类型
- Angular 框架下ng-repeat内部使用tooltip插件的办法
- ArcGIS紧凑型缓存存储格式分析
- 接口自动化(unittest)
- [osg]osg窗口显示和单屏幕显示
- redis实现对账(集合比较)功能
- Linux下文件的三种时间标记(atime ctime mtime)
- Multiple Instance Learning
- [leetcode] 204. Count Primes 统计小于非负整数n的素数的个数
- 微信小程序-04-详解介绍.json 配置文件