请选择 进入手机版 | 继续访问电脑版
搜索
房产
装修
汽车
婚嫁
健康
理财
旅游
美食
跳蚤
二手房
租房
招聘
二手车
教育
茶座
我要买房
买东西
装修家居
交友
职场
生活
网购
亲子
情感
龙城车友
找美食
谈婚论嫁
美女
兴趣
八卦
宠物
手机

python练习题4.23求矩阵的局部极大值

[复制链接]
查看: 27|回复: 0

2万

主题

2万

帖子

7万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
76553
发表于 2020-9-15 18:23 | 显示全部楼层 |阅读模式
给定M行N列的整数矩阵A,如果A的非边界元素A[j]大于相邻的上下左右4个元素,那么就称元素A[j]是矩阵的局部极大值。本题要求给定矩阵的全部局部极大值及其所在的位置。输入格式:


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


每行按照“元素值 行号 列号”的格式输出一个局部极大值,其中行、列编号从1开始。要求按照行号递增输出;若同行有超过1个局部极大值,则该行按列号递增输出。若没有局部极大值,则输出“None 总行数 总列数”。
代码如下:
  1. #!/usr/bin/python# -*- coding: utf-8 -*-a,b = input().split(" ")m = int(a)n = int(b)l = list()for i in range(0,m):    s = list(map(int,input().split(" ")))    l.append(s)key = Truefor i in range(1,m-1):        for j in range(1,n-1):                if l[i][j] > l[i-1][j] and l[i][j] > l[i+1][j] and l[i][j] > l[i][j+1] and l[i][j] > l[i][j-1]:                    print(l[i][j],i+1,j+1)                    key = Falseif key:    print("None",m,n)
复制代码
这个程序不难。
1、接收矩阵这没什么说的了。
2、除去边界数据,然后遍历列表判断符合要求的数据,进行输出。



读书和健身总有一个在路上
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

技术支持:迪恩网络科技公司  Powered by Discuz! X3.2
快速回复 返回顶部 返回列表