Given a sorted array **arr[], **the task is to calculate the number of missing numbers between the first and last element of the sorted array.

**Examples:**

Input:arr[] = { 1, 4, 5, 8 }Output:4Explanation:

The missing integers in the array are {2, 3, 6, 7}.

Therefore, the count is 4.

Input:arr[] = {5, 10, 20, 40}Output:32

**Naive Approach:**

The simplest approach to solve the problem is to iterate through the array and calculate the sum of all the adjacent differences of the elements of the array.

**Time Complexity: **O(N)**Auxiliary Space:** O(1)

**Efficient Approach:**

To optimize the above approach, the idea is to observe that the total count of numbers in the range of **[arr[0], arr[N – 1]]** is given by **arr[N-1] – arr[0] + 1**. Since the size of the array is **N**, the count of missing integers in the array is given by **arr[N-1] – arr[0] + 1 – N**.

Below is the implementation of the above approach:

## C++

`// C++ Program for the above approach ` `#include <bits/stdc++.h> ` `using` `namespace` `std; ` ` ` `// Function that find the count of ` `// missing numbers in array a[] ` `void` `countMissingNum(` `int` `a[], ` `int` `N) ` `{ ` ` ` `// Calculate the count of missing ` ` ` `// numbers in the array ` ` ` `int` `count = a[N - 1] - a[0] + 1 - N; ` ` ` ` ` `cout << count << endl; ` `} ` ` ` `// Driver Code ` `int` `main() ` `{ ` ` ` `int` `arr[] = { 5, 10, 20, 40 }; ` ` ` ` ` `int` `N = ` `sizeof` `(arr) / ` `sizeof` `(arr[0]); ` ` ` ` ` `countMissingNum(arr, N); ` ` ` ` ` `return` `0; ` `}` |

## Java

`// Java program for the above approach ` `class` `GFG{ ` ` ` `// Function that find the count of ` `// missing numbers in array a[] ` `public` `static` `void` `countMissingNum(` `int` `[] a, ` ` ` `int` `N) ` `{ ` ` ` ` ` `// Calculate the count of missing ` ` ` `// numbers in the array ` ` ` `int` `count = a[N - ` `1` `] - a[` `0` `] + ` `1` `- N; ` ` ` ` ` `System.out.println(count); ` `} ` ` ` `// Driver code ` `public` `static` `void` `main(String[] args) ` `{ ` ` ` `int` `arr[] = { ` `5` `, ` `10` `, ` `20` `, ` `40` `}; ` ` ` ` ` `int` `N = arr.length; ` ` ` ` ` `countMissingNum(arr, N); ` `} ` `} ` ` ` `// This code is contributed by divyeshrabadiya07 ` |

## Python3

`# Python3 program for the above approach` ` ` `# Function that find the count of ` `# missing numbers in array a[] ` `def` `countMissingNum(a, N): ` ` ` ` ` `# Calculate the count of missing ` ` ` `# numbers in the array ` ` ` `count ` `=` `a[N ` `-` `1` `] ` `-` `a[` `0` `] ` `+` `1` `-` `N ` ` ` ` ` `print` `(count) ` ` ` `# Driver Code ` `arr ` `=` `[ ` `5` `, ` `10` `, ` `20` `, ` `40` `] ` ` ` `N ` `=` `len` `(arr) ` ` ` `countMissingNum(arr, N) ` ` ` `# This code is contributed by sanjoy_62` |

## C#

`// C# program for the above approach ` `using` `System;` ` ` `class` `GFG{` ` ` `// Function that find the count of ` `// missing numbers in array a[] ` `public` `static` `void` `countMissingNum(` `int` `[] a,` ` ` `int` `N) ` `{ ` ` ` ` ` `// Calculate the count of missing ` ` ` `// numbers in the array ` ` ` `int` `count = a[N - 1] - a[0] + 1 - N; ` ` ` ` ` `Console.Write(count); ` `} ` ` ` `// Driver code` `public` `static` `void` `Main(` `string` `[] args)` `{` ` ` `int` `[]arr = { 5, 10, 20, 40 }; ` ` ` `int` `N = arr.Length; ` ` ` ` ` `countMissingNum(arr, N); ` `}` `}` ` ` `// This code is contributed by rutvik_56` |

**Output:**

32

**Time Complexity:** O(1)**Auxiliary Space:** O(1)

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the **Essential Maths for CP Course** at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more, please refer **Complete Interview Preparation Course****.**