很巧妙的算法,自愧不如啊
當初就想著二分啊二分,結果還是沒有分出來,而且情況很復雜
下面的代碼的算法很巧妙,充分利用了有一個數(shù)出現(xiàn)的次數(shù)大于總數(shù)的一半這一條性質
1 #include<stdio.h>
2 int main()
3 {
4 int i,counter,answer,n,data;
5 while(scanf("%d",&n)!=EOF)
6 {
7 counter=0;
8 for(i=1;i<=n;i++)
9 {
10 scanf("%d",&data);
11 if (counter == 0)
12 {
13 answer=data;
14 counter=1;
15 }
16 else if (answer == data)
17 {
18 counter++;
19 }
20 else
21 counter--;
22 }
23 printf("%d\n",answer);
24 }
25 return 0;
26 }