3417. 跳过交替单元格的之字形遍历
题目描述
给你一个 m x n
的二维数组 grid
,数组由 正整数 组成。
你的任务是以 之字形 遍历 grid
,同时跳过每个 交替 的单元格。
之字形遍历的定义如下:
- 从左上角的单元格
(0, 0)
开始。 - 在当前行中向 右 移动,直到到达该行的末尾。
- 下移到下一行,然后在该行中向 左 移动,直到到达该行的开头。
- 继续在行间交替向右和向左移动,直到所有行都被遍历完。
注意:在遍历过程中,必须跳过每个 交替 的单元格。
返回一个整数数组 result
,其中包含按 顺序 记录的、且跳过交替单元格后的之字形遍历中访问到的单元格值。
示例 1:
示例 2:
示例 3:
提示:
2 <= n == grid.length <= 50
2 <= m == grid[i].length <= 50
1 <= grid[i][j] <= 2500
解法
方法一:模拟
我们遍历每一行,如果当前行的索引是奇数,我们就将这一行的元素逆序,然后遍历这一行的元素,按照题目要求的规则将元素加入答案数组中。
时间复杂度 $O(m \times n)$,其中 $m$ 和 $n$ 分别是二维数组 $\textit{grid}$ 的行数和列数。忽略答案数组的空间消耗,空间复杂度 $O(1)$。
1 2 3 4 5 6 7 8 9 10 11 12 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|