Check if Array Elements are Consecutive

If you want to practice data structure and algorithm programs, you can go through 100+ data structure and algorithm programs.

In this post, we will see how to check if array elements are consecutive.


Problem

Given an array, we need to check if array contains consecutive elements.
For example:

Input: array[] = {5, 3, 4, 1, 2}
Output: true
As array contains consecutive elements from 1 to 5
Input: array[] = {47, 43, 45, 44, 46}
Output: true
As array contains consecutive elements from 43 to 47
Input: array[] = {6, 7, 5, 6}
Output: false
As array does not contain consecutive elements.

Solution

Simple solution will be to sort the array and check if elements are consecutive just by iterative over array but time complexity of this solution will be o(n^logn).

Can we do better?
Yes, we can do better

  • Find minimum and maximum element in the array.
  • Check if max-min+1==n, if elements are consecutive then this condition should meet.
  • Create a visited boolean array.
  • Iterate over the array and check
    • visited[arr[i]-min] is true, then return false as elements are repeated.
    • mark the element visited.

Program to check if Array Elements are Consecutive

When you run above program, you will get below output:

Array elements are consecutive

Time complexity of this solution is o(n).

That’s all about how to check if Array Elements are Consecutive.

Was this post helpful?

Leave a Reply

Your email address will not be published. Required fields are marked *