All submissions

Scan Memory for Three Consecutive Increasing Values

Code

#include <stdio.h>

int find_pattern(int *mem, int n)
{
    // Write your pointer-based logic here
    int *pEnd = mem + n - 1;
    int temp = *mem;
    ++mem;
    int indx =0; 

    while (mem <= pEnd)
    {
        if (temp >= *mem)
        {
            temp = *mem;
            ++mem;
            ++indx; 
        }
        else if (temp < *mem)
        {
            int check = *mem - temp;
            if (check == 1)
            {
                while (check)
                {
                    temp = *mem;
                    ++mem;
                    
                    check = *mem - temp;
                    // k++;

                    if (check == 1)
                    {
                        return indx;
                    } else {
                        break; 
                    }
                }
            }
            else
            {
                temp = *mem;
                ++mem;
                ++indx; 
                
            }
        }
    }
    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

 

 

 

Loading...

Input

8 2 4 5 6 9 11 12 14

Expected Output

1