设为首页 加入收藏

TOP

1083 是否存在相等的差 PAT (Basic Level)
2019-09-03 03:44:41 】 浏览:42
Tags:1083 是否 存在 相等 PAT Basic Level

题目链接:

https://pintia.cn/problem-sets/994805260223102976/problems/994805260780945408


 

分析:

将某个差值的次数存在数组a对应位置中,然后从a[n-1]开始判断是否大于1,若大于1,则输出下标和次数,一直到a[0]结束,使用while(n--)恰好实现。


 

AC代码:

 1 #include<stdio.h>
 2 
 3 int main(void)
 4 {
 5     int n=0,m=0,i=0,a[10008]={0};
 6     scanf("%d",&n);
 7     for(i=1;i<=n;i++)
 8     {
 9         scanf("%d",&m);
10         ++a[m-i<0?i-m:m-i];
11     }
12     while(n--)
13         if(a[n]>1)
14             printf("%d %d\n",n,a[n]);
15     return 0;
16 }

 


1083 是否存在相等的差 PAT (Basic Level) https://www.cppentry.com/bencandy.php?fid=45&id=249713

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇图解单链表反转 下一篇判断一个数是否为素数