leetcode——之字形排列二维数组
发布时间
阅读量:
阅读量
引入
本题可参考leetcode第498题。题目提供了一个包含M行N列元素的矩阵,要求按照对角线的方式遍历该矩阵,并将所有元素按此顺序返回。对角线遍历的具体方式如示例图所示。
示例
输入数据为一个包含三行三列元素的二维数组,具体形式如下:
[
[ 1, 2, 3 ],
[ 4, 5, 6 ],
[ 7, 8, 9 ]
]
经过特定处理后,输出结果为一个一维序列,其排列顺序为 [1,2,4,7,5,3,6,8,9]。
思路
其核心理念在于,将复杂问题分解为多个“依据起始坐标与终止坐标生成对角线”的输出结果的集合。鉴于之字形路径存在两种方向,即“从左上至右下”以及“从右上至左下”,因此需要引入一个布尔变量用于进行方向判断。
代码
import com.hpsyche.sort.utils.SortUtils;
import javax.xml.bind.SchemaOutputResolver;
import java.sql.SQLOutput;
/** * @author Hpsyche
*/
public class FindDiagonalOrder {
public int[] findDiagonalOrder(in
全部评论 (0)
还没有任何评论哟~
