以下是一种解决方法的代码示例:
def find_largest_numbers(matrix):
largest = float('-inf') # 初始化最大值为负无穷大
second_largest = float('-inf') # 初始化第二大值为负无穷大
third_largest = float('-inf') # 初始化第三大值为负无穷大
for row in matrix:
for num in row:
if num > largest:
third_largest = second_largest
second_largest = largest
largest = num
elif num > second_largest:
third_largest = second_largest
second_largest = num
elif num > third_largest:
third_largest = num
return largest, second_largest, third_largest
# 示例输入矩阵
matrix = [
[1, 10, 5],
[3, 8, 6],
[2, 7, 9]
]
largest, second_largest, third_largest = find_largest_numbers(matrix)
print("最大的值:", largest)
print("第二大的值:", second_largest)
print("第三大的值:", third_largest)
输出结果为:
最大的值: 10
第二大的值: 9
第三大的值: 8
在上述代码中,我们使用了两个循环来遍历矩阵中的每个元素。对于每个元素,我们检查其是否大于当前的最大值、第二大值和第三大值,并根据情况更新这些值。最后,我们返回这三个最大值。