Hi Janak

Thanks for your reply and good that we are exited. But if you see the
problem, this approach is already known which has space complexity of
O(n). But this if you are lucky that the array has numbers which are
not more than n itself.

If the given array is say 1000 size and it has numbers which can be
anything, say a very large number 14556543 (lets forget max storage of
int/long in various programing languages). Then it will be a tough job
to keep insertion in your hash table O(1). There will be lots of hash
classes and if you do not chose a good hash function (which can be
better found by knowing the nature of the numbers in the aray and we
done know about them) you may end up with O(n) insertion time.

So lets think a less space expensive method.

Tanks,
Veer

On Jun 1, 9:57 am, janak chandarana <jac...@gmail.com> wrote:
> On Mon, May 31, 2010 at 10:01 PM, souravsain <souravs...@gmail.com> wrote:
> > Hi All
>
> > This is my first post to this community and so am exited. The problem
> > is to find the no. that has maximum frequency in an array (size n) of
> > integers.
>
> > The approach to use a hash table, itereate through array (O(n)) and
> > keep inserting into hash table (O(1)) and then scan the hash table
> > (O(n)) to find entry with max frequency is known.
>
> You don't need to scan hash table again.
> Keep track of max while inserting.
> Update max when ever freq of some character is more than max.
>
> > Not to mention that
> > one more iteration is needed to find the maximum value in array so as
> > to decide the sixe of hash table (to keep insertion perfectly O(N).
>
> > I am looking for a solution which is having O(1) space complexity. The
> > best I can think of is to sort the array in O(nlogn) and then make a
> > pass through the array O(n) to find one with max frequency. So here
> > time complexity is O(nlogn + n). Can we have a better solution?
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Algorithm Geeks" group.
> > To post to this group, send email to algoge...@googlegroups.com.
> > To unsubscribe from this group, send email to
> > algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@googlegroups.com>
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/algogeeks?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algoge...@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to