解题思路:
就是找到区间的最大值,最小值,然后再判断是否满足最大值减去最小值+1 等于区间的长度。
但是数据较大。可能是测试数据太水,然后没有超时。
注意事项:
参考代码:
#include<cstdio> #include<cstring> #include<algorithm> #include<iostream> using namespace std; const int maxn = 5001; int a[maxn]; int main(void) { int n,cnt=0; cin>>n; for(int i=0;i<n;i++) cin>>a[i]; for(int i=0;i<n;i++) { int minn=a[i],maxn=a[i]; for(int j=i;j<n;j++) { if(a[j]<minn) minn=a[j]; if(a[j]>maxn) maxn=a[j]; if(maxn-minn+1==j-i+1) cnt++; } } printf("%d",cnt); return 0; }
0.0分
2 人评分
【亲和数】 (C语言代码)浏览:530 |
简单的a+b (C语言代码)浏览:564 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:577 |
C语言考试练习题_排列 (C语言代码)浏览:767 |
大神老白 (C语言代码)浏览:690 |
A+B for Input-Output Practice (V) (C语言代码)浏览:640 |
求组合数 (C语言代码)浏览:1206 |
printf基础练习2 (C语言代码)浏览:547 |
C二级辅导-分段函数 (C语言代码)浏览:659 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:692 |