1. 程式人生 > >西南科技大學OJ題 尋找整數序列的主元素1036

西南科技大學OJ題 尋找整數序列的主元素1036

尋找整數序列的主元素

已知一個整數序列A=(a0,a1,…an),如果其中有一個元素的出現次數超過n/2,就稱該元素為A的主元素,否則就稱整數序列沒有主元素。例如A=(0,5,5,3,5,7,5,5),則5為主元素。A=(0,5,5,3,5,1,5,7),則A中沒有主元素。要求編寫程式實現尋找給定整數序列的主元素,如果找到,則輸出主元素。如果沒有找到,則輸出-1。

輸入

第一行為整數序列的個數n
第二行為一個整數序列。

輸出

如果找到主元素,輸出主元素的值,否則輸出-1。

樣例輸入

8
0 5 5 3 5 7 5 5

樣例輸出

5

#include<stdio.h> int main() {     int n,a[100]={0};     int t;     int k=0;     scanf("%d",&n);     for(int i=0;i<n;i++)     {         scanf("%d",&t);         a[t]++;     }     for(int i=0;i<100;i++)     {         if(a[i]>n/2)         {             printf("%d",i);             k=1;         }     }     if(k==0)     printf("-1"); }