天天看點

找水王

設計思路:

  水王的文章超過一半,那麼就可以在一次周遊的時候進行計數(n=0),如果ID跟第一個一樣,那麼就n加一,如果不一樣,就n減一,當n小于0的時候更新ID,同時n=0。最後n>0時,ID就是水王

代碼實作:

  

1 #include <iostream>
 2 using namespace std;
 3 #define N 10
 4 
 5 void main()
 6 {
 7     int a[N]={2,3,2,2,2,1,2,4,1,2};//每個文章的ID
 8     int n = 0;
 9     int m = a[0];     //ID
10     for(int i = 0;i < N;i++)
11     {
12         if (m == a[i])
13         {
14             n++;
15         }
16         else
17         {
18             n--;
19         }
20         if (n <= 0)
21         {
22             m = a[i];
23             n = 1;
24         }
25     }
26     cout << "水王是:" << m << endl;
27 }           

實作截圖:

找水王

個人總結:

  思路一定要開闊,不能思維定勢。要從不同的角度分析,當然首先必須了解題意。