LintCode问题图解-15

本文准备讲解1个算法编程问题, 这个算法编程问题来自LintCode平台。不了解.LintCode平台的读者可以阅读笔者文章(在线编程平台推荐-LeetCode)。问题的英文版本描述如下:

Matrix Zigzag Traversal

Given a matrix of mxelements (rows,columns), return all elements of the matrix in ZigZag-order.

Example

Given a matrix:

[

[1, 2,  3,  4],

[5, 6,  7,  8],

[9,10, 11, 12]

]

return [1, 2, 5, 9, 6, 3, 4, 7, 10, 11, 8, 12].

矩阵的之字型遍历

给你一个包含 mxn 个元素的矩阵 (m行,n列), 之字型遍历该矩阵。

样例

对于如下矩阵:

[

[1, 2,  3,  4],

[5, 6,  7,  8],

[9,10, 11, 12]

]

返回 [1, 2, 5, 9, 6, 3, 4, 7, 10, 11, 8, 12]。

该问题要求对矩阵元素逐行斜线遍历。以样例矩阵为例,1个斜线遍历为 [ 2,5],另1个斜线遍历为 [9,6,3]。这2个斜线遍历的遍历方向相反。算法处理方案需要将斜线非端点节点和斜线端点节点的处理区别对待。斜线非端点节点为非矩阵边界节点,如样例矩阵的 6。斜线端点节点为矩阵边界节点,如样例矩阵的 2,5,9,3。现在公布1种高效简单的算法方案。


高效简单的算法
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,354评论 0 33
  • 1 序 2016年6月25日夜,帝都,天下着大雨,拖着行李箱和同学在校门口照了最后一张合照,搬离寝室打车去了提前租...
    RichardJieChen阅读 10,620评论 0 12
  • 本文准备讲解1个算法编程问题, 这个算法编程问题来自LintCode平台。不了解.LintCode平台的读者可以阅...
    billliu_0d62阅读 2,990评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,819评论 19 139
  • 一、课程大纲1.1课程内容介绍1.1.1 Supervised Learning关于监督型学习方法,本课程涉及到的...
    xiaorun阅读 5,101评论 0 1

友情链接更多精彩内容