【题解】【PTA-Python题库】第4章-23 求矩阵的局部极大值 (15 分)
发布日期:2022-03-18 05:04:37 浏览次数:7 分类:技术文章

本文共 810 字,大约阅读时间需要 2 分钟。

求矩阵的局部极大值

给定M行N列的整数矩阵A,如果A的非边界元素A[i][j]大于相邻的上下左右4个元素,那么就称元素A[i][j]是矩阵的局部极大值。本题要求给定矩阵的全部局部极大值及其所在的位置。

输入格式:

输入在第一行中给出矩阵A的行数M和列数N(3≤M,N≤20);最后M行,每行给出A在该行的N个元素的值。数字间以空格分隔。

输出格式:

每行按照“元素值 行号 列号”的格式输出一个局部极大值,其中行、列编号从1开始。要求按照行号递增输出;若同行有超过1个局部极大值,则该行按列号递增输出。若没有局部极大值,则输出“None 总行数 总列数”。

输入样例1:

4 51 1 1 1 11 3 9 3 11 5 3 5 11 1 1 1 1

输出样例1:

9 2 35 3 25 3 4

输入样例2:

3 51 1 1 1 19 3 9 9 11 5 3 5 1

输出样例2:

None 3 5

思路:

遍历矩阵找局部最大值。

代码如下:

n, m= input().split();n, m = int(n), int(m)a = [];sum = 0;count=0;r=0for i in range(n):    s = input()    a.append([int(n) for n in s.split()])for i in range(1,n-1):	for j in range(1,m-1):		if(a[i][j]>a[i-1][j] and a[i][j]>a[i][j-1] and a[i][j]>a[i+1][j] and a[i][j]>a[i][j+1]):				r=1				print('{:d} {:d} {:d}'.format(a[i][j],i+1,j+1))if(r==0):	print('None {:d} {:d}'.format(i+2,j+2))

转载地址:https://tuenity.blog.csdn.net/article/details/102683766 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:【题解】【PTA-Python题库】第4章-22 找鞍点 (20 分)
下一篇:【题解】【PTA-Python题库】第4章-24 打印九九口诀表 (15 分)

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年04月07日 01时06分35秒