Write a C Program to Print all the Repeated Numbers with Frequency in Array. So first approach is to use linear search and find the occurrence of numbers but efficient solution is to use less time and space complexity.

For Example if you given array A[ ] = { 5, 3, 2, 5, 3, 1}; to find frequency of numbers, So here is small solution withÂ Time and Space complexity with O(n) .

1 2 3 |
/* Solution in two line */ for(int i=0; i<SIZE; i++) OccurCount[A[i]]++; |

Here array **A** is our main array in which we want to find frequency of numbers and array **OccurCount** is used to count element occurrences.

**Logic**

The logic of this problem is pretty simple

- We declare new array
**OccurCount**of same size as A. - Increment the value in
**OccurCount**array at index same as element. For example if we get first element ‘5’ in array**A**, then increment value of element in array**OccurCount**at index 5**.**

**C Program to Print all the Repeated Numbers with Frequency in Array**

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#include <stdio.h> #define SIZE 6 int main() { int A[SIZE] = {1,2,1,4,1,4}; // Main array to search occurrence int OccurCount[SIZE]={0,0,0,0,0,0}; // make zero each element otherwise you will see garbage value in output /* Solution in two line */ for(int i=0; i<SIZE; i++) OccurCount[A[i]]++; /* Print element occurrences */ for(int i=0; i<SIZE; i++) printf(" %d is occur %d times \n",i,OccurCount[i]); return 0; } |

**Output**