解题思路:
就是找到区间的最大值,最小值,然后再判断是否满足最大值减去最小值+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语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:581 |
C二级辅导-公约公倍 (C语言代码)浏览:1510 |
C语言训练-字符串正反连接 (C语言代码)浏览:622 |
C语言程序设计教程(第三版)课后习题6.11 (C语言代码)for循环浏览:1130 |
printf基础练习2 (有点不明白)浏览:845 |
【简单计算】 (C语言代码)浏览:622 |
WU-判定字符位置 (C++代码)浏览:1406 |
C语言程序设计教程(第三版)课后习题6.8 (C语言代码)浏览:529 |
【计算球体积】 (C语言代码)浏览:1102 |
sizeof的大作用 (C语言代码)浏览:1451 |