Diagonal Traverse
来源:互联网 发布:网络诈骗罪判决书 编辑:程序博客网 时间:2024/05/16 10:14
Diagonal Traverse
Given a matrix of M x N elements (M rows, N columns), return all elements of the matrix in diagonal order as shown in the below image.
Example:
Input:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]Output: [1,2,4,7,5,3,6,8,9]Explanation:
Note:
- The total number of elements of the given matrix will not exceed 10,000.
代码:
class Solution {public: vector<int> findDiagonalOrder(vector<vector<int>>& matrix) { vector<int>ans; if (matrix.empty()) return ans; int M=matrix.size(); int N=matrix[0].size(); int dx[2]={-1,1}; int dy[2]={1,-1}; int dir=1; int row=0; int col=0; for (int i=0; i<M*N; i++) { ans.push_back(matrix[row][col]); row+=dy[dir]; col+=dx[dir]; int flag=0; if (col>=N) { row+=2; col=N-1; flag=1; } if (row<0) { row=0; flag=1; //dir=1-dir; } if (row>=M) { row=M-1; col+=2; flag=1; } if (col<0) { col=0; flag=1; } if(flag) { dir=1-dir; } } return ans; }};
0 0
- Diagonal Traverse
- LeetCode 498. Diagonal Traverse
- 498. Diagonal Traverse
- [leetcode]498. Diagonal Traverse
- 498. Diagonal Traverse
- [LeetCode]498. Diagonal Traverse
- leetcode 498. Diagonal Traverse
- 498.Diagonal Traverse-M
- LeetCode: 498. Diagonal Traverse
- LeetCode笔记:498. Diagonal Traverse
- Diagonal Traverse问题及解法
- leetcode_498. Diagonal Traverse ? 待解决
- [leetcode] 498. Diagonal Traverse -- JavaScript 代码
- [每日一题]498. Diagonal Traverse
- [Leetcode] 498. Diagonal Traverse 解题报告
- leetcode 498. Diagonal Traverse 矩阵对角遍历
- Traverse XmlElement
- Reverse traverse
- 为nginx创建windows服务自启动
- 程序猿必修课之数据结构(二)算法和算法的复杂度
- 【新产品】.NET条形码控件 Spire.Barcode for .NET发布
- HandlerThread
- JS基础知识
- Diagonal Traverse
- $_GET
- js中常用字符串和数组的操作方法
- 欢迎使用CSDN-markdown编辑器
- 关于写toolbar加入Menu时候遇到的问题
- [Lpp]Linux系统简介
- 关于字符编解码
- 题目1111:单词替换
- java动态生成带下拉框的Excel导入模板