Check if Array Elements are Consecutive

Previous
Next

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 5Input: array[] = {47, 43, 45, 44, 46}
Output: true
As array contains consecutive elements from 43 to 47Input: 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.

Previous
Next

Join Our News Letter – Stay Updated

Subscribe to Awesome Java Content.




Add Comment

Join Our News Letter - Stay Updated

Subscribe to Awesome Java Content.
You can like our facebook page Java2blog