解题思路:
就是找到区间的最大值,最小值,然后再判断是否满足最大值减去最小值+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语言程序设计教程(第三版)课后习题6.4 (C++代码)浏览:656 |
钟神赛车 (C++代码)浏览:866 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:422 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:538 |
小明A+B (C语言代码)浏览:1256 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:1293 |
输出正反三角形 (C语言代码)浏览:794 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:880 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:585 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:676 |