文章图片
【算法|算法:顺时针打印矩阵】
输入一个矩阵 , 按照从外向里以顺时针的顺序依次打印出每一个数字 。
示例
- 输入:matrix = [[1234
[5678
[9101112
- 输出:[123481211109567
- 0 <= matrix.length <= 100
- 0 <= matrix[i
.length <= 100
算法流程:
- 特例终止条件:如果矩阵为空 , 直接返回空数组;
- 确定第一层的上下左右四个起始点;
- 初始化长度为矩阵长度的结果数组 , 并初始化一个自增值 , 用于动态赋值;
- 逐层遍历:
- 从左到右依次从(topleft)到(topright);
- 从上到下依次从(top+1right)到(bottomright);
- 如果 left < right 并且 top < bottom时 ,从右到左依次从(bottomright-1)到(bottomleft+1);
- 如果 left < right 并且 top < bottom时 , 从下到上依次从(bottomleft)到(top+1left);
- left 加一 , right 减一 , top 加一 , bottom 减一 , 进入下一层按上述步骤遍历;
- 返回结果数组 。
复杂度分析
- 时间复杂度:O(mn) , 其中 m 和 n 分别是输入矩阵的行数和列数 。 矩阵中的每个元素都要被访问一次 。
- 空间复杂度:O(1) 。 除了输出数组以外 , 空间复杂度是常数 。
- 3D打印|什么是 1GB 数据,它到底包含了多少内容?
- 3D打印|EasyYa易芽与Qupital桥彼道达成1亿美金额度战略合作
- 3D打印|HUXWRX安全公司FLOW 556k消音器 3D打印工艺制造 挑战性能极限
- 算法|8个常见的机器学习算法的计算复杂度总结
- 经典|不懂这些 Word 打印技巧,曾经让我吃了太多亏,最后一个尤其经典
- 匹克3D打印鞋“源型”获得德国红点产品奖最高奖项
- 延展性|首款3D打印纳米结构高熵合金问世
- 本文转自:黑龙江日报多维时空3D打印作品。|涵盖5个领域29个类别 大庆数字经济市场主体超千家
- 音响|让彩色打印机操作零门槛,华为PixLab V1首销价格1399元
- 3D打印|3毛一克,做3D打印服务创业,一个人一台机,什么时候才能回本?