设计思路:
水王的帖子超过一半,那么就可以在一次遍历的时候进行计数(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 }
实现截图:

个人总结:
思路一定要开阔,不能思维定势。要从不同的角度分析,当然首先必须理解题意。