Count frequencies of all elements in array in O ( 1 ) extra space and O ( n ) time | Function to find counts of all elements present in arr [ 0. . n - 1 ] . The array elements must be range from 1 to n ; Hashmap ; Traverse all array elements ; Update the frequency of array [ i ] ; Increase the index ; Driver code
function findCounts ( arr , n ) { let hash = new Array ( n ) ; for ( let i = 0 ; i < n ; i ++ ) { hash [ i ] = 0 ; } let i = 0 ; while ( i < n ) { hash [ arr [ i ] - 1 ] ++ ; i ++ ; } document . write ( " " + " " ) ; for ( i = 0 ; i < n ; i ++ ) { document . write ( ( i + 1 ) + " " + hash [ i ] + " " ) ; } } let arr = [ 2 , 3 , 3 , 2 , 5 ] ; findCounts ( arr , arr . length ) ; let arr1 = [ 1 ] ; findCounts ( arr1 , arr1 . length ) ; let arr3 = [ 4 , 4 , 4 , 4 ] ; findCounts ( arr3 , arr3 . length ) ; let arr2 = [ 1 , 3 , 5 , 7 , 9 , 1 , 3 , 5 , 7 , 9 , 1 ] ; findCounts ( arr2 , arr2 . length ) ; let arr4 = [ 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 ] ; findCounts ( arr4 , arr4 . length ) ; let arr5 = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 ] ; findCounts ( arr5 , arr5 . length ) ; let arr6 = [ 11 , 10 , 9 , 8 , 7 , 6 , 5 , 4 , 3 , 2 , 1 ] ; findCounts ( arr6 , arr6 . length ) ;