LeetCode-54&59.Spiral Matrix
来源:互联网 发布:中日高铁争夺战 知乎 编辑:程序博客网 时间:2024/05/21 11:34
54 https://leetcode.com/problems/spiral-matrix/
Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral order.
For example,
Given the following matrix:
[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]
You should return [1,2,3,6,9,8,7,4,5]
.
public IList<int> SpiralOrder(int[,] matrix) { IList<int> res = new List<int>(); int m = (int)matrix.GetLongLength(0); int n = (int)matrix.GetLongLength(1); int len = m * n, i = 0, j = 0, begin = 0; while (len > 0) { if (len == 1) { res.Add(matrix[i, j]); break; } while (len > 0 && j < n - 1) { res.Add(matrix[i, j++]); len--; } while (len > 0 && i < m - 1) { res.Add(matrix[i++, j]); len--; } while (len > 0 && j > begin) { res.Add(matrix[i, j--]); len--; } while (len > 0 && i > begin) { res.Add(matrix[i--, j]); len--; } begin++; m--; n--; i = j = begin; } return res; }
59 https://leetcode.com/problems/spiral-matrix-ii/
Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order.
For example,
Given n = 3
,
[ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ]]
public int[,] GenerateMatrix(int n) { int i = 0, j = 0, k = 0, begin = 0, len = n * n; int[,] res = new int[n, n]; while (k < len) { if (k == len-1) { res[i, j] = len; break; } while (k < len && j < n - 1) res[i, j++] = ++k; while (k < len && i < n - 1) res[i++, j] = ++k; while (k < len && j > begin) res[i, j--] = ++k; while (k < len && i > begin) res[i--, j] = ++k; begin++; n--; i = j = begin; } return res; }
0 0
- LeetCode-54&59.Spiral Matrix
- [leetcode 54] Spiral Matrix
- [LeetCode 54]Spiral Matrix
- Spiral Matrix - LeetCode 54
- leetcode 54 : Spiral Matrix
- Leetcode #54 Spiral Matrix
- Leetcode#54||Spiral Matrix
- 【leetcode】【54】Spiral Matrix
- LeetCode 54 - Spiral Matrix
- 【LeetCode-54】Spiral Matrix
- LeetCode 54 Spiral Matrix
- LeetCode 54 Spiral Matrix
- Leetcode 54 Spiral Matrix
- [Leetcode] #54 Spiral Matrix
- LeetCode 54 --- Spiral Matrix
- LeetCode 54 Spiral Matrix
- Leetcode 54 Spiral Matrix
- Leetcode 54, Spiral Matrix
- akka入门
- IO流解析
- Linux命令 -- 批量修改文件名
- Java 的数据类型
- bzoj1503 郁闷的出纳员
- LeetCode-54&59.Spiral Matrix
- Phaser.js事件系统及用户交互篇
- linux gcc编译过程
- 深入浅出 - Android系统移植与平台开发(八)- HAL Stub框架分析
- eclipse导入maven工程后更改默认JDK1.5的方法
- redis3.0.0 集群安装详细步骤
- 物理地址和逻辑地址的
- opencv中的split函数
- c++作业6