python在一个数组中 如果一个数在它所在的每一行和每一列都是唯一最小值 那么我们把这个数叫做矩阵的谷点,请写出一个程序找出数组的谷点
时间: 2024-10-09 10:15:19 浏览: 16
python+numpy按行求一个二维数组的最大值方法
在Python中,我们可以编写一个函数来寻找二维数组(矩阵)的谷点。谷点是指每个元素在所在行和列中都是最小值的元素。以下是一个简单的解决方案:
```python
def find_peaks(matrix):
rows = len(matrix)
cols = len(matrix[0])
# 初始化谷点列表
valleys = []
for i in range(rows):
for j in range(cols):
# 检查行和列最小
if matrix[i][j] < matrix[i - 1][j] and matrix[i][j] < matrix[i + 1][j]:
if j > 0 and matrix[i][j] < matrix[i][j - 1]: # 检查左边界
continue
if j < cols - 1 and matrix[i][j] < matrix[i][j + 1]: # 检查右边界
continue
valleys.append((i, j)) # 添加谷点坐标
return valleys
# 示例
matrix_example = [
[4, 5, 2],
[3, 6, 7],
[1, 9, 8]
]
valleys = find_peaks(matrix_example)
print(f"Matrix的谷点坐标为: {valleys}")
阅读全文