PTA 7-2 求矩阵的局部极大值

这篇具有很好参考价值的文章主要介绍了PTA 7-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 5
1 1 1 1 1
1 3 9 3 1
1 5 3 5 1
1 1 1 1 1

输出样例1:

9 2 3
5 3 2
5 3 4

输入样例2:

3 5
1 1 1 1 1
9 3 9 9 1
1 5 3 5 1

输出样例2:

None 3 5

 本题要注意审题,边界值不计入结果计算中

一开始没有审清楚题目,得到以下计入边界值的代码,放在这里警示以下,注意认真审题

求矩阵的局部极大值 1.0(含边界)

#include<stdio.h>
int main(){
    int m,n,i,t,count=0;
    scanf("%d %d",&m,&n);
    int a[m][n];
    for(i=0;i<m*n;i++)
        scanf("%d",&a[0][i]);
    for(i=1;i<m;i++)
        for(t=1;t<n;t++){
            if(i==m-1&&t!=n-1){
                if(a[i][t]>a[i][t-1]&&a[i][t]>a[i][t+1]&&a[i][t]>a[i-1][t]){
                    printf("%d %d %d\n",a[i][t],i+1,t+1);
                    count++;
                }}
           else if(i!=m-1&&t==n-1){
                if(a[i][t]>a[i-1][t]&&a[i][t]>a[i+1][t]&&a[i][t]>a[i][t-1]){
                    printf("%d %d %d\n",a[i][t],i+1,t+1);
                    count++;
                }}
           else if(i==m-1&&t==n-1){
                if(a[i][t]>a[i-1][t]&&a[i][t]>a[i][t-1]){
                    printf("%d %d %d\n",a[i][t],i+1,t+1);
                    count++;
                }}
            else{
                if(a[i][t]>a[i-1][t]&&a[i][t]>a[i][t-1]&&a[i][t]>a[i+1][t]&&a[i][t]>a[i][t+1]){
                    printf("%d %d %d\n",a[i][t],i+1,t+1);
                    count++;
                }}
        }
    if(count==0)
        printf("None %d %d",m,n);
    return 0;
}

 以下是正确答案

求矩阵的局部极大值 2.0(不含边界)文章来源地址https://www.toymoban.com/news/detail-767182.html

#include<stdio.h>
int main(){
    int m,n,i,t,count=0;
    scanf("%d %d",&m,&n);
    int a[m][n];
    for(i=0;i<m*n;i++)
        scanf("%d",&a[0][i]);
    for(i=1;i<m-1;i++)
        for(t=1;t<n-1;t++){
                if(a[i][t]>a[i-1][t]&&a[i][t]>a[i][t-1]&&a[i][t]>a[i+1][t]&&a[i][t]>a[i][t+1]){
                    printf("%d %d %d\n",a[i][t],i+1,t+1);
                    count++;
                }}
    if(count==0)
        printf("None %d %d",m,n);
    return 0;
}

到了这里,关于PTA 7-2 求矩阵的局部极大值的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 深度学习基本功3:NMS(Non-Maximum Suppression,非极大值抑制)算法原理及实现

    大多数目标检测算法(稠密预测)在得到最终的预测结果时,特征图的每个位置都会输出多个检测结果,整个特征图上会出很多个重叠的框。例如要检测一辆车,可能会有多个bbox都把这辆车给框了出来,因此需要从这些bbox中选出框得最好的,删除掉其它的。要定义框得好与

    2024年02月06日
    浏览(47)
  • 极值理论(一):极大值极限分布

    1 为什么引入广义极值分布:         考虑随机变量序列极大值分布:,当时,不一定是依分布收敛的(一般我们总是期望它是收敛的)。因此,我们引入广义极值分布来描述标准化。 2 广义极值分布(GEV): 对于标准化有  =0:Gumbel分布;0:Frechet分布;0:weibull分布 何谓

    2024年02月05日
    浏览(44)
  • 【目标检测】 非极大值抑制—NMS

    在目标检测任务中,一个目标可能会被多个边界框检测到,这些边界框可能会有不同的位置和大小,但表示同一个目标。 非极大值抑制 (Non-Maximum Suppression, NMS )是一种常用的方法,用于抑制这些重叠的边界框,只保留置信度最高的那个边界框,从而得到最终的目标检测结

    2024年02月04日
    浏览(39)
  • 数学分析(十七)-多元函数微分学4-泰勒公式与极值问题4-极值问题2:充分条件【 f在稳定点P₀处二阶连续偏导数的(Hesse) 黑塞矩阵:①正定矩阵➔极小值;②负定矩阵➔极大值;③不定矩阵➔无极值】

    为了讨论二元函数 f f f 在点 P 0 ( x 0 , y 0 ) P_{0}left(x_{0}, y_{0}right) P 0 ​ ( x 0 ​ , y 0 ​ ) 取得极值的充分条件, 我们假定 f f f 具有二阶连续偏导数, 并记 H f ( P 0 ) = ( f x x ( P 0 ) f x y ( P 0 ) f y x ( P 0 ) f y y ( P 0 ) ) = ( f x x f x y f y x f y y ) P 0 boldsymbol{H}_{f}left(P_{0}right)=left(begin{a

    2024年04月13日
    浏览(48)
  • 13.4 目标检测锚框标注 & 非极大值抑制

    假设原图的高为 H ,宽为 W

    2024年02月11日
    浏览(44)
  • 【目标检测】非极大值抑制NMS的原理与实现

    非极大值抑制(Non-Maximum Suppression,NMS)是目标检测中常用的一种技术,它的主要作用是去除冗余和重叠过高的框,并保留最佳的几个。 NMS计算的具体步骤如下: 首先根据目标检测模型输出结果,得到一系列候选框及其对应的概率分数。 对所有候选框按照概率分数进行降序

    2024年02月08日
    浏览(38)
  • 非极大值抑制详细原理(NMS含代码及详细注释)

    作者主页: 爱笑的男孩。的博客_CSDN博客-深度学习,YOLO,活动领域博主 爱笑的男孩。擅长深度学习,YOLO,活动,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域. https://blog.csdn.net/Code_and516?type=collect 个人介绍:打工人。 分享内容

    2023年04月21日
    浏览(50)
  • 【NMS,非极大值抑制】Python和C++的实现

    代码如下:

    2024年02月15日
    浏览(34)
  • sin(x) + cos(x) 的极大值和极小值

    今天遇到了一个问题,就是如何求解 sin ⁡ x + cos ⁡ x sin{x} + cos{x} sin x + cos x 的极大值和极小值。这里特来记录一下。 首先,我们假设: sin ⁡ x + cos ⁡ x = R sin ⁡ ( x + α ) (1) sin{x} + cos{x} = Rsin{left ( x+alpha right ) } tag{1} sin x + cos x = R sin ( x + α ) ( 1 ) 展开(1)式后我们可以

    2024年02月01日
    浏览(69)
  • 图像处理之canny边缘检测(非极大值抑制和高低阈值)

    Canny算子是John F.Canny 大佬在1986年在其发表的论文 《Canny J. A computational approach to edge detection [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1986 (6): 679-698.》提出来的。 低错误率。所有边缘都应该被找到,并且应该没有伪响应。也就是检测到的边缘必须尽可能时真实的边缘

    2024年02月16日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包