python定义⼀个⼆维数组的鞍点_Python求矩阵鞍点
【问题描述】
如果整型数组A中存在这样的⼀个元素A[i, j],满⾜条件:A[i, j]是第i⾏中值最⼩的元素,且⼜是第j列中值最⼤的元素,则称之为该矩阵的⼀个马鞍点。请编程计算出m*n的矩阵A的所有马鞍点,若矩阵中不存在马鞍点,应给出相应的信息。
【输⼊形式】
输⼊的第⼀⾏两个数据分别为矩阵的m,n值,以空格间隔;
第⼆⾏为整型数组中的所有元素,以空格间隔,按⾏来保存数据
【输出形式】输出所有的马鞍点,域宽为4(%4d);若⽆,打印 no。
【样例输⼊】
5 5
1 2 3 4 5 7 3 4 5 6 2 1 5 4 3 5 3 6 5 4 5 3 6 5 4
【样例输出】3 3 3
【样例说明】输⼊5*5的矩阵,第⼀⾏的数据为1 2 3 4 5,第⼆⾏ 7 3 4 5 6,以此类推:
1 2 3 4 5
7 3 4 5 6
2 1 5 4 3
5 3
6 5 4
5 3
6 5 4
输出本数组中的三个个马鞍点3(1⾏1列) 3(3⾏1列) 3(4⾏1列),输出的域宽为4。
a=list(map(int,input().strip().split()))
hang=int(a[0])
lie=int(a[1])
c=[]
e=list(map(int,input().strip().split()))
for i in range(hang):
c.append([int(d) for d in e[i*lie:i*lie+lie]])
#print(c)python格式化输出format
flag=False
for i in range(hang):
b=c[i].index(min(c[i]))
k=0
while k < hang:
if c[i][b]>=c[k][b]:
k+=1
if k==hang:
flag=True
print('{:<4}'.format(c[i][b]),end='')
else:
break
if flag==False:
print("no")
However,竟然没拿满分,俺也不知道为什么,回头再改吧,哼同时附上格式化输出的链接:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。