数组&矩阵刷题总结
0 Basic 矩阵索引 1matrix[i][j] 2matrix[i][0] # 第i行第一个 3matrix[0][j] # 第j列第一个 原生list没有列的概念: 1matrix[:, j] # TypeError: list indices must be integers or slices, not tuple 2matrix[:][j] # 不报错,但取到的是第 j 行,而且改的是临时副本 嵌套 list 是一维列表装着 m 个互不相干的行对象引用,每行甚至可以长度不同: 1[[1, 2, 3], [4], [5, 6]] # 完全合法 1row = row[::-1] # ✗ 只是把局部名字 row 重新绑定到新列表,matrix 纹丝不动 2row.reverse() # ✓ 原地反转,改的是对象本身 3matrix[i][:] = [0]*n # ✓ 先索引到真实行对象,再对它的切片赋值 → 原地 4matrix[:][i] = [0]*n # ✗ 先切片(造新对象)再索引 → 改的是临时对象 1 Matrix 1.1 矩阵置零 | Medium 题目: 给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。 要求原地算法。进阶:使用 O(1) 额外空间 ...