#include <stdio.h>
int find_pattern(int *mem, int n) {
// Write your pointer-based logic here
for(int i=0;(i+2)<n;i++){
if ((*(mem+i+1)==(*(mem+i)+1) )&&(*(mem+i+2)==(*(mem+i)+2))){
return i;
}
}
return -1;
}
int main() {
int n, arr[100];
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
int res = find_pattern(arr, n);
printf("%d", res);
return 0;
}
Solving Approach
just check the value at mem[i]==(mem[i+1]+1) && (mem[i+2])==mem[i]+2 , means the next value should exceed by 1 and next to next element should exceed by 2.