寻找水王

1. 可以假设帖子的第一个ID是次数最大的,用candidate记录,次数用nTimes记录。

2. 遍历下一个ID,如果跟candidate一样,nTimes++,否则,遇到一个挑战,则nTimes--,如果nTimes == 0,下一步就要重复第一步了。

3.遍历结束,nTimes>0的那个candidate就是水王ID,他是获胜者。

[cpp] view plain copy print ?
  1. TypeFind(Type*ID,intN)
  2. {
  3. Typecandidate;
  4. intnTimes,i;
  5. for(i=nTimes=0;i
  6. {
  7. if(nTimes==0)
  8. {
  9. candidate=ID[i],nTimes=1;
  10. }
  11. else
  12. {
  13. if(candidate==ID[i])
  14. nTimes++;
  15. else
  16. nTimes--;
  17. }
  18. }
  19. returncandidate;
  20. }

你可能感兴趣的:(寻找水王)