📅  最后修改于: 2023-12-03 14:55:30.497000             🧑  作者: Mango
在给定的矩阵中,找到所有大小为 K 的方形子矩阵,并返回每个子矩阵中的最小元素。这个问题可以通过遍历矩阵中的每个子矩阵来解决,然后在每个子矩阵中找到最小元素。
以下是一个可能的解决方案的示例代码片段(使用 Python 语言):
def find_min_elements(matrix: List[List[int]], K: int) -> List[int]:
rows, cols = len(matrix), len(matrix[0])
result = []
for i in range(rows - K + 1):
for j in range(cols - K + 1):
sub_matrix = [row[j:j+K] for row in matrix[i:i+K]]
minimum = min([min(row) for row in sub_matrix])
result.append(minimum)
return result
# 示例用法
matrix = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
K = 2
min_elements = find_min_elements(matrix, K)
print(min_elements)
在上面的代码中,我们首先遍历矩阵中的每个可能的子矩阵(起点范围为 (i, j)
,终点范围为 (i+K-1, j+K-1)
),然后构建子矩阵。接下来,我们找到子矩阵中的最小元素,并将其添加到结果列表中。最后,我们返回结果列表。
以上是一个解决从给定矩阵中找到所有大小为 K 的方形子矩阵的最小元素的方法。通过遍历每个子矩阵并找到最小元素,我们可以得到所需的结果。