对角线遍历 |
您所在的位置:网站首页 › 利群新版单盒条码 › 对角线遍历 |
给定一个含有 M x N 个元素的矩阵(M 行,N 列),请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示。 示例: 输入: [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ] ] 输出: [1,2,4,7,5,3,6,8,9] 解释: 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/diagonal-traverse 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
对角线的特征 我们首先先忽略对角线的方向,观察对角线的数量。 注意到 关注第一行,发现第一行的每一项正好对应一条对角线。 关注最后一列,发现最后一列的每一项正好对应一条对角线。 前两者重复的即只有包含右上顶点的那一条,而除了那一条加起来就是全部的对角线。 所以对角线的总数为 行数 + 列数 - 1 观察对角线的方向,注意到对角线向右上或者向左下是交替进行的。 所以可以通过对对角线排序,通过序号判断向上或者向下。 我们设行数为M,列数为N,令最左上角的为第0条对角线,最右下的为第M+N-2条对角线。则当对角线的序号为偶数时,对角线是向右上的。称对角线为curve_line。 数据行列的特征 在一条对角线上,行和列的序号加起来是恒定的,因为如果行+1了则列必定-1。。 如果 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |