diff --git a/code_mian_ele_2013.cpp b/code_mian_ele_2013.cpp new file mode 100644 index 0000000..b39e7ae --- /dev/null +++ b/code_mian_ele_2013.cpp @@ -0,0 +1,28 @@ +#include +#include + +int majority(int A[], int length) { + int p = 0; + int start = 0, count = 0; + for (int j = 0;j < length;j++) { + if (A[start] == A[j]) count++; + else count--; + if (count == 0 && j < length - 1) { + start = ++j; + count = 1; + } + } + int mainElement = A[start]; + int countElement = 0; + for (int j = 0;j < length;j++) { + if (A[j] == mainElement)countElement++; + } + return countElement > length / 2 ? 1 : 0; +} + +int main() { + int A[] = { 1,1,0,0,0,1,1,1,0 }; + int isMajority = majority(A, 9); + if (isMajority)printf("有主元素"); + else printf("没有主元素"); +} \ No newline at end of file