Given an integer array arr, count element x such that x + 1 is also in arr.
If there’re duplicates in arr, count them seperately.
Example 1:
Input: arr = [1,2,3]Output: 2Explanation: 1 and 2 are counted cause 2 and 3 are in arr.123Example 2:
Input: arr = [1,1,3,3,5,5,7,7]Output: 0Explanation: No numbers are counted, cause there's no 2, 4, 6, or 8 in arr.123Example 3:
Input: arr = [1,3,2,3,5,0]Output: 3Explanation: 0, 1 and 2 are counted cause 1, 2 and 3 are in arr.123Example 4:
Input: arr = [1,1,2,2]Output: 2Explanation: Two 1s are counted cause 2 is in arr.123Constraints:
1 <= arr.length <= 10000 <= arr[i] <= 1000
#include<stdio.h>
#include<stdbool.h>
#define h 1001
int counting (int *arr,int arrsize)
{
bool ff[1002] = {0};
for (int i = 0;i < arrsize;i++)
{
ff[arr[i]] = true;
}
int count = 0;
for (int j = 0;j < arrsize;j++)
{
int a = arr[j];
int a_1 = a + 1;
if (ff[a_1])
{
count++;
}
}
return count;
}
main()
{
int a[h];
int s = 0;
for (int j = 0;a[j] != '\0';j++)
{
scanf ("%d",&a[j]);
s++;
}
printf ("%d\n",counting(a,s));
}