python查找鞍点

问题:对于给定5X5的整数矩阵,设计算法查找出所有的鞍点的信息(包括鞍点的值和行、列坐标,坐标从1开始)。

提示:鞍点的特点:列上最小,行上最大。

思路:求出每一行的最大值,将行号、列号、值存入列表中,

   矩阵转秩

   求出每一行的最小值,将行号、列号、值存入列表中,

   判断重复的即为所求值

代码:

list1=[]
list_max=[]
list_min=[]
for i in range(5):
    list=input().split()
    list_int=[int(x) for x in list]
    list1.append(list_int )
    k=0
    for j in list_int:
        if j==max(list_int):
            break
        k=k+1
    list_max.append([i+1,k+1, max(list_int)])
#print(list_max)
list2=[[list1[j][i] for j in range(5)] for i  in range(5)]
i=0
for l in list2:
    i=i+1
    k = 0
    for j in l  :
        if j == min(l):
            break
        k = k + 1
    list_min.append([ k + 1,i, min(l)])
#print(list_min)

for i in list_max:
    for j in list_min:
        if str(i)==str(j):
            print(i,end=" ")

    

 

题目描述】

对于给定5X5的整数矩阵,设计算法查找出所有的鞍点的信息(包括鞍点的值和行、列坐标,坐标从1

原文地址:https://www.cnblogs.com/wj1998/p/10796318.html