问题:对于给定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