连号区间数
#include <string>
#include <iostream>
#include <algorithm>
using namespace std;
const int N = 10010,INF = 10000000;
int n;
int a[N];
int main()
{
cin >> n;
for(int i = 0;i<n;i++) cin >> a[i];
int maxv,minv,res = 0;
for(int i = 0; i < n;i++)
{
maxv = -INF; minv = INF;
for(int j = i; j < n;j++)
{
//每次加入一个新的数,所以将这个新数与先前的最值比较就好啦。
minv = min(minv,a[j]);
maxv = max(maxv,a[j]);
if(maxv - minv == j-i)
res++;
}
}
cout << res;
}
learn:
-输入: 4
1 2 3 4
可用 cin >> n;
for(int i = 0; i < n;i++)
cin >> a[i]
完成
-巧思
-事前const定义一个大数,后面直接使用
-c++排序
sort(a,b,参数)
无参数:升序
greater<int>() 对int数组降序
<>中可为float、double、long等
自定义函数: 在函数中写好比较规则;