@coolfrogs: How can more than one element exist of 2n/3 times repeated..
@dave: can u add that for loop and send as i tried but could not succeed

On Wed, Sep 22, 2010 at 6:23 PM, coolfrog$
<[email protected]>wrote:

> solution in o(n log n)
>  can be ( as if solution exit only one element cam be a majority element in
> the given array)
> 1. sort the array in O(nlogn)
> 2.  x = a[2n/3]
>       if(a[0]==x)
>           {  if(x== a[(2n/3])+1)
>                 return (x)
>
>           }
> On Wed, Sep 22, 2010 at 5:53 AM, Dave <[email protected]> wrote:
>
>> Try something like this:
>>
>> int FindMajority( int n , int a[] )
>> {
>>    int majority = a[0];
>>    int count = 1;
>>    for( i = 1 ; i < n ; ++i )
>>    {
>>        if( a[i] == majority )
>>        {
>>            ++count;
>>        }
>>        else
>>        {
>>            if( count == 0 )
>>            {
>>                 majority = a[i];
>>                 count = 1;
>>            }
>>            else
>>            {
>>                 --count;
>>            }
>>        }
>>    }
>>    return majority;
>> }
>>
>> It will find an element that occurs at least n/2 times in the array.
>> If you need to verify that the element occurs 2n/3 times, add a loop
>> to count the number of occurences of majority before the return.
>>
>> On Sep 21, 10:42 pm, pre <[email protected]> wrote:
>> > Hi all,
>> > pls help me solve this problem..
>> > Design an algorithm to find the majority element of an array..
>> > majority element must be an element tht has the cardinality greater
>> > than 2n/3 where n is the number of elements in the array and the time
>> > complexity must be a linear time.. ie o(n)..
>> >
>> > hint : use mode or median to solve ..
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Algorithm Geeks" group.
>> To post to this group, send email to [email protected].
>> To unsubscribe from this group, send email to
>> [email protected]<algogeeks%[email protected]>
>> .
>> 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 [email protected].
> To unsubscribe from this group, send email to
> [email protected]<algogeeks%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/algogeeks?hl=en.
>



-- 
Regards,
C. Narsimha Raju
MS, IIIT Hyderabad.
http://research.iiit.ac.in/~narsimha_raju/

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

Reply via email to