连号区间数 刷题笔记

1.单个元素算一个连续区间

2.题意为 单独截取数组中的一段元素

例如 a数组假设为 3 1 2 5 4 6 7

假设取 a[3]-a[5]

则取出 5 4 6

重新排序后为 4 5 6

连续了 则ans++;

假设 取a[i]-a[j]这一段元素

设该段元素的最大值为max,最小值为min

如果该段元素重新排序后 是连续的则有

(j-i)=max-min;

证明

暴力枚举

符合条件则ans++;

代码

#include<iostream>

#include<cstring>

#include<cstdio>

#include<algorithm>

using namespace std;

const int N=1e5+10;

int a[N],b[N];

int n;

int ans=0;

int main(){

cin>>n;

for(int i=1;i<=n;i++){

cin>>a[i];

}

for(int i=1;i<=n;i++){

int minn=1e8,maxx=0;

for(int j=i;j<=n;j++){

minn=min(minn,a[j]);

maxx=max(maxx,a[j]);

if((maxx-minn)==(j-i))

{

ans++;

}

}

}

cout <<ans;

return 0;

}

相关推荐
kinl20188 小时前
cs2385_note0 (lec2-lec5)
笔记
做怪小疯子9 小时前
Leetcode刷题——8.重叠区间
算法·leetcode·职场和发展
2401_857865239 小时前
C++模块接口设计
开发语言·c++·算法
add45a9 小时前
嵌入式C++低功耗设计
开发语言·c++·算法
DeepModel9 小时前
【概率分布】指数分布(Exponential Distribution)原理、推导与实战
python·算法·概率论
_饭团9 小时前
指针核心知识:5篇系统梳理3
c语言·数据结构·算法·leetcode·面试·学习方法·改行学it
2401_874732539 小时前
C++中的状态模式
开发语言·c++·算法
BB学长9 小时前
LBM vs FVM:谁才是 CFD 的未来?
人工智能·算法·机器学习
闻缺陷则喜何志丹9 小时前
【枚举】P6786「SWTR-6」GCDs & LCMs|普及+
c++·算法·洛谷
m0_716667079 小时前
实时数据压缩库
开发语言·c++·算法