思路:
排序后,数值相差 1 的数字肯定是相邻的。所以讲输入数组排序,依次统计即可。
-
原数组排序
-
判断相邻数字差值,如果差值为 1,则统计结果 + 1。
-
输出结果
代码:
#include <iostream>
#include <algorithm>
using namespace std;
const int N = 1010;
int a[N];
int main()
{
int n;
cin >> n;
for(int i = 0; i < n; i++)
{
cin >> a[i];
}
sort(a, a + n);//排序
int res;
for(int i = 0; i < n - 1; i++)
{
if(abs(a[i] - a[i + 1]) == 1)//当前数字和后一个数字差值如果是1,结果++
res ++;
}
cout << res;
}