寻找鞍点(Python)

2018-01-15  本文已影响69人  52_St

知识点

给定一个5*5的矩阵,每行只有一个最大值,每列只有一个最小值,寻找这个矩阵的鞍点。鞍点指的是矩阵中的一个元素,它是所在行的最大值,并且是所在列的最小值。

例如:在下面的例子中(第4行第1列的元素就是鞍点,值为8)。

list1 = [[11, 3, 5, 6, 9],
         [12, 4, 7, 8, 10],
         [10, 5, 6, 9, 11],
         [8, 6, 4, 7, 2],
         [15, 10, 11, 20, 25]]

为方便大家直接把这个矩阵写成列表了。

最后输出:
第4行,第1列,值为8,即从1开始计数。

代码部分如下:

list1 = [[11, 3, 5, 6, 9],
         [12, 4, 7, 8, 10],
         [10, 5, 6, 9, 11],
         [8, 6, 4, 7, 2],
         [15, 10, 11, 20, 25]]

for r in range(len(list1)):
    c = list1[r].index(max(list1[r]))
    k = 0
    while k < len(list1):
        if list1[r][c] <= list1[k][c]:
            k += 1
            if k == len(list1):
                print('鞍点在第{}行,第{}列,值为:{}'.format(r + 1, c + 1, list1[r][c]))
        else:
            break
360截图1637062968117101.jpg
上一篇下一篇

猜你喜欢

热点阅读