解题思路:
就是找到区间的最大值,最小值,然后再判断是否满足最大值减去最小值+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语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:505 |
C语言程序设计教程(第三版)课后习题9.1 (C语言代码)浏览:681 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:519 |
蚂蚁感冒 (C语言代码)浏览:1319 |
大家好,我是验题君浏览:574 |
C二级辅导-阶乘数列 (C语言代码)浏览:508 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:800 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:535 |
C二级辅导-等差数列 (C语言代码)浏览:770 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:556 |