Study Plan For Algorithms - Part37
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] * rows
col_zero = [False] * cols
for i in range(rows):
for j in range(cols):
if matrix[i][j] == 0:
row_zero[i] = True
col_zero[j] = True
for i in range(rows):
if row_zero[i]:
for j in range(cols):
matrix[i][j] = 0
for 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 = 0
j = n - 1
while i < m and j >= 0:
if matrix[i][j] == target:
return True
elif matrix[i][j] > target:
j -= 1
else:
i += 1
return False
本文来自博客园,作者:WindMay,转载请注明原文链接:https://www.cnblogs.com/stephenxiong001/p/18421677