[leedcode 59] Spiral Matrix II
2015-07-13 10:52
316 查看
Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order.
For example,
Given n =
You should return the following matrix:
For example,
Given n =
3,
You should return the following matrix:
[ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ]
public class Solution { int res[][]; int val=1; public int[][] generateMatrix(int n) { //主要是通过画图,判断每个分支的范围,本题还适应非方阵 res=new int ; int minRow=0; int maxRow=n-1; int minCol=0; int maxCol=n-1; int val=1; while(minRow<=maxRow&&minCol<=maxCol){ generate(minRow,maxRow,minCol,maxCol); minRow++; maxRow--; minCol++; maxCol--; } return res; } public void generate(int minRow,int maxRow,int minCol,int maxCol){ for(int i=minCol;i<=maxCol;i++){ res[minRow][i]=val++; } for(int i=minRow+1;i<=maxRow;i++){ res[i][maxCol]=val++; } for(int i=maxCol-1;i>=minCol;i--){ res[maxRow][i]=val++; } for(int i=maxRow-1;i>minRow;i--){ res[i][minCol]=val++; } } }
相关文章推荐
- Android按钮单击事件的四种常用写法总结
- Jmeter org.apache.struts.taglib.html.TOKEN 获取并引用网页token
- iOS推送小结(证书的生成、客户端的开发、服务端的开发)
- Android 异步和超时处理 例子
- linux下创建一个可运行脚本
- Golang 工程组织
- C++ 数组参数 深入分析
- @MappedSuperclass
- (ros/navigation/gmapping)导航/建地图
- Map.EntrySet的用法
- 对象归档
- sync/fsync函数
- Nginx介绍
- jmeter小结
- Container With Most Water
- 黑马day17 ajax&实现二级联动
- 常用小代码——串口初始化
- XML DOM操作,适用目前流行的浏览器
- Nginx介绍 分类: Nginx 服务器搭建 2015-07-13 10:50 19人阅读 评论(0) 收藏
- (转)ThinkPHP Where 条件中使用表达式