From bc92114766c295599d74ab40c1aea3fe816e62d3 Mon Sep 17 00:00:00 2001 From: Andrei Margeloiu Date: Tue, 19 Jul 2016 19:46:39 +0300 Subject: [PATCH] Create MajorityElement --- MajorityElement | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 MajorityElement diff --git a/MajorityElement b/MajorityElement new file mode 100644 index 0000000..b9ce509 --- /dev/null +++ b/MajorityElement @@ -0,0 +1,28 @@ +# include +using namespace std; +int main () +{ + /* Given an array of n elements, find the majority element. + A majority element occurs at least n/2 + 1 times. + If it doesn't exist print -1. + */ + int n=11; // number of elements (indexes 1-11) + //index 0 1 2 3 4 5 6 7 8 9 10 11 + int A[]={0,1,1,4,5,1,6,6,1,1,3, 1}; + + sort (A+1, A+n+1); + + // A[n/2+1] can be the majority element + int majorityElement=A[n/2+1]; + int nrOccurrences=0; + + for (int i=1; i<=n; ++i) + if (A[i]==majorityElement) ++nrOccurrences; + + if (nrOccurrences >= n/2 + 1) { + cout<<"The majority element is "<