题目链接:1.连号区间数 - 蓝桥云课 (lanqiao.cn)
解题思路:判断最大值减去最小值是不是等于区间长度就行,注意一个数也算是连号区间
下面是c++代码:
#include <iostream>
#include<algorithm>
using namespace std;
int arr[500000];
int main()
{
// 请在此输入您的代码
int n, count = 0;
std::cin >> n;
for (int i = 0; i < n; i++) {
std::cin >> arr[i];
}
for (int i = 0; i < n; i++) {
int Max = arr[i], Min = arr[i];
for (int j = i + 1; j < n; j++) {
Max = max(Max, arr[j]);
Min = min(Min, arr[j]);
if (Max - Min == j - i) {
count++;
}
}
}
std::cout << count + n;
return 0;
}