找水王

设计思路:

  因为水王的ID出现的次数大于一半,那么在所有ID中,以第一次ID为计数,对ID进行遍历,出现一次便加1,没有出现便减1,遍历结束后,如果小于零便换一个ID,依次对ID进行遍历,最终看见大于零的,便是水王的ID咯。。。

代码:

 1  #include <iostream>
 2  using namespace std;
 3  #define N 10
 4  
 5  void main()
 6  {
 7      int a[N]={2,2,2,4,5,2,2,2,6,5};//每个帖子的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  }  

原文地址:https://www.cnblogs.com/chengchengshuaio/p/4521522.html