产生一个螺旋矩阵
2015-10-03 11:38
363 查看
public class Solution { public int[][] generateMatrix(int n) { if (n == 0) return new int[0][0]; int[][] matrix = new int ; int up = 0, down = matrix.length - 1; int total = 1; while (up < down) { total = genetare(matrix, up, down, total); up++; down--; } if (up == down) matrix[up][up] = total; return matrix; } public int genetare (int[][] matrix, int up, int down, int total) { for (int i = up; i <= down; i++) matrix[up][i] = total++; total--; for (int i = up; i <= down; i++) matrix[i][down] = total++; total--; for (int i = down; i >= up ; i--) matrix[down][i] = total++; total--; for (int i = down; i > up ; i--) matrix[i][up] = total++; return total; } }想法很简单,就是看对于边界条件的判断。
相关文章推荐
- SVN安装步骤的页面地址
- 学习ThinkPHP3.2.2:video8,以数组方式显示插入的记录
- C++学习(一)-纯虚函数和抽象类(4)
- 马哥运维笔记----4
- SQL查询分析器使用
- 下载、编译Android5.1.0_r2源码简明版
- 学习ThinkPHP3.2.2:video8,提交页面后的处理方法包括有效判断数据插入页面跳转功能
- 类String
- 35. Search Insert Position (Array)
- PAT1010 一元多项式求导 (25)
- Lua错误:nesting of [[...]] is deprecated near '['
- 学习ThinkPHP3.2.2:video8,用M函数的delete方法删除wish表中的所有数据
- 一个老程序员的5点建议
- [LeetCode] 116 - Populating Next Right Pointers in Each Node
- Apache Struts 2入门指南
- 非排序寻找从小到大第3400个数
- pat1016Phone Bills (25)
- 学习ThinkPHP3.2.2:video8,把提交的的数据插入数据库
- CodeForces 302E(好题)
- 向周鸿祎学习产品和产品推销方法