题目
#题解
##难度:简单
##知识点:数学逻辑
##思路:
1.使用count变量来记录总的区间数
2.通过一层循环,依次判断两个相邻数是否连续,首先输入当前数子x,将x的前一个数保存在flat变量中。若flat+1=x,表示相邻数连续,将x值赋值给flat进行下一个数的判断。若flat+1不等于x,表示出现新区间,将count自加一,并且将x值赋值给flat进行下一个数的判断。
3.循环结束后输出count。
###【注】不需要把数据进行存储,直接读进来进行相差是否为1的判断,时间复杂度o(n),空间复杂度为o(1)。
#include<iostream>
using namespace std;
int main(){
int n,x;
int flat;
cin>>n>>x;
int count=1;
flat=x;
for(int i=1;i<=n-1;i++){
cin>>x;
if(flat+1!=x) count++;
flat=x;
}
cout<<count<<endl;
return 0;
}