寻找发贴水王
来源:互联网 发布:ubuntu 循环登录 编辑:程序博客网 时间:2024/05/01 06:25
寻找发贴水王,水王的帖子数目超过总数的一半
解法:每次删除两个不同的ID,最后剩下来的不能删除的就是水王的ID
实现: 1.本例用一个数组模拟帖子,其中有一个标号的帖子超过总数的一半
2.先存放第一个ID,后面的ID来比较,若值相同,则,计数器加1;
若不相同:
若此时计数器不为0.则计数器减一
若此时计数器为0.则替换值,计数器加1
3.遍历数组一边,保存下来的值就是模拟的水王
代码实现:
#include<iostream>using namespace std;struct KingNode{ int value; int count;};int findKing(int post[], int len){ KingNode king; king.value=-1; king.count=0; for(int i=0; i<len; i++){ if(post[i] != king.value){ if(king.count == 0){ king.value = post[i]; king.count++; }else king.count--; }else king.count++; } return king.value;}int main(){ int post[]={2,5,6,1,3,2,42,2,5,2,2,2,2}; int post1[]={2,2,2,1,3,2,42,2,5,2,3,2,7}; int len=sizeof(post)/sizeof(int); std::cout<<"the post king is: "<<findKing(post,len)<<endl; std::cout<<"the post1 king is: "<<findKing(post1,len)<<endl; return 0;}
运行结果:
题外话,如果自己都看不起自己,那活着还有什么意义?
- 寻找发贴水王
- [编程之美]寻找发贴水王Tango
- 找出发贴水王
- BOP - 寻找发贴‘水王’
- 足球贴水术语一览
- 贴贴水题
- 面试真题:寻找发贴“水王”
- 答案_寻找发贴“水王”
- 寻找发帖“水王”:由水王ID所发的帖子数超过了总帖子数的一半。
- 【编程之美】2.3 - 寻找发贴"水王"
- 寻找王晶
- 寻找水王
- 寻找发帖水王
- 寻找发帖水王
- 寻找发帖水王
- 寻找水王
- 寻找发帖水王
- 寻找发帖水王
- Android Developers:支持不同的屏幕大小
- 天猫宣布启动快递“当日达”
- [设计模式笔记]三. 行为型模式--25. Visitor模式(访问者)对象行为型模式(一)
- zoj 3686 (a simple tree problem)
- C#中Split用法
- 寻找发贴水王
- [设计模式笔记]三. 行为型模式--25. Visitor模式(访问者)对象行为型模式(二)
- 关于在 iOS 中支持 DLNA
- 博文2—c语言程序
- 开源 免费 java CMS - FreeCMS1.5-职位管理
- 一步一步学编程之Python(一)
- Java常用类库--正则表达式(Pattern类、Matcher类)
- underscore.js学习
- 请问c++中的#include "stdafx.h"是什么意思?