leetcode -- Spiral Matrix I&II -- 简单,但需要优化
2015-12-15 23:03
411 查看
https://leetcode.com/problems/spiral-matrix/
已经写过post
https://leetcode.com/problems/spiral-matrix-ii/
对于Spiral Matrix II, 这里我们只需要首先建立一个n*n的matrix,然后像I一样遍历即可。
/article/4981591.html 有更好的方案
上code
已经写过post
https://leetcode.com/problems/spiral-matrix-ii/
对于Spiral Matrix II, 这里我们只需要首先建立一个n*n的matrix,然后像I一样遍历即可。
/article/4981591.html 有更好的方案
上code
class Solution(object): def generateMatrix(self, n): """ :type n: int :rtype: List[List[int]] """ if n == 0: return [] m, n = n, n matrix = [[0]*n for x in range(n)] i,j = 0, 0 count = 0 val = 1 while i < m and j < n and matrix[i][j] == 0: start_i, start_j = i, j end_i, end_j = m - count - 1, n - count - 1 if i == end_i: for k in xrange(start_j, end_j + 1): matrix[i][k] = val val += 1 break if j == end_j: for k in xrange(start_i, end_i + 1): matrix[i][k] = val val += 1 break while j<=end_j: matrix[i][j] = val val += 1 j += 1 j -= 1 i += 1 while i<=end_i: matrix[i][j] = val val += 1 i += 1 i -= 1 j -= 1 while j>=start_j: matrix[i][j] = val val += 1 j -= 1 j += 1 i -= 1 while i>start_i:#exclude the mat[i][j] matrix[i][j] = val val += 1 i -= 1 i, j = i + 1, j + 1 count += 1 return matrix
相关文章推荐
- Android TextView中添加图片
- Application Fundamentals
- 实验报告四
- Scrum Meeting 10-20151216
- Android 获取uri的正确文件路径的办法
- 关于DirectShow操作视频文档
- 使用TCMalloc 优化MySQL
- 迷宫求解
- mysql的约束
- Linux中安装卸载Mysql
- swift 学习记录(可选类型 Optionals)
- jquery+html5 在web页面播放提示音
- 帝国CMS7.2忘记后台密码怎么找回
- 【cl】maven新建web项目
- 关于DShow开发摄像头程序问题
- 日期类
- net搭建热插拔式web框架
- UIScrollView 与 UIPageView 的联合使用
- 20151215jqueryUI--dialog代码备份
- 面试相关问题---待解决