1. 矩阵置零
给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。
class Solution:def setZeroes(self, matrix: List[List[int]]) -> None:rows = len(matrix)cols = len(matrix[0])row_zero = [False] * rowscol_zero = [False] * colsfor i in range(rows):for j in range(cols):if matrix[i][j] == 0:row_zero[i] = Truecol_zero[j] = Truefor i in range(rows):if row_zero[i]:for j in range(cols):matrix[i][j] = 0for j in range(cols):if col_zero[j]:for i in range(rows):matrix[i][j] = 0
2. 搜索二维矩阵
给定一个满足下述两条属性的 m x n 整数矩阵:
- 每行中的整数从左到右按非严格递增顺序排列。
- 每行的第一个整数大于前一行的最后一个整数。
给一个整数 target ,如果 target 在矩阵中,返回 true ;否则,返回 false 。
class Solution:def searchMatrix(self, matrix: List[List[int]], target: int) -> bool:m = len(matrix)n = len(matrix[0])i = 0j = n - 1while i < m and j >= 0:if matrix[i][j] == target:return Trueelif matrix[i][j] > target:j -= 1else:i += 1return False