`
Iam42
  • 浏览: 272613 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

编程之美2.3-发帖水王扩展问题

阅读更多

有3个发帖最多的ID,他们发帖数目都超过了帖子总数目的1/4,从发帖ID列表中快速找出这3个ID

 

/**
 * 维护3个ID数据结构,里面name字段存放ID,count是一个计数器,
 * 遍历ID列表时,如果发现一个ID,与其中一个数据结构的name字段相等,这个数据结构的count++
 * 如果发现一个新的ID没有被这3个数据结构记录,那么,如果这3个数据结构中,有一个的count字段为0,则把这个新ID付给这个数据结构的name
 * 同时,他的count+1;反之如果没有发现count为0的数据结构,则把3个数据结构的count都减1。
 * @author Iam42
 */
public class Id {
	public Id(){
		count=0;
		name="";
	}
	
	public int count;
	public String name;
}

 

/**
 * 只需要遍历一次ID列表,没遍历到一个元素就对定义的3个数据结构进行相关的操作
 * 当列表遍历完毕后,三个数据结构里的name字段就是3个发帖水王
 * @author Iam42
 */
public class CatchID {


	public static void main(String[] args) {
		String[] idlist={"a","a","d","d","a","b","d","a","b","d","d","d","a","b","c","a","c","b","a","b"};
		
		Id id1 = new Id();
		Id id2 = new Id();
		Id id3 = new Id();
		
		for(int i=0 ; i<20 ; i++){
		    if(id1.name.equals(idlist[i])){
		    	id1.count++;
		    }else if(id2.name.equals(idlist[i])){
		    	id2.count++;
		    }else if(id3.name.equals(idlist[i])){
		    	id3.count++;
		    }else if(id1.count==0){
				id1.name=idlist[i];
				id1.count++;
			}else if(id2.count==0){
				id2.name=idlist[i];
				id2.count++;
			}else if(id3.count==0){
				id3.name=idlist[i];
				id3.count++;
			}else{
				id1.count--;
				id2.count--;
				id3.count--;
			}
		}

		System.out.println(id1.name);
		System.out.println(id2.name);
		System.out.println(id3.name);
	}
}

 

分享到:
评论

相关推荐

    寻找发帖水王

    寻找发帖水王 题目: Tango是微软亚洲研究院的一个试验项目。研究院的员工和实习生们都很喜欢在Tango上面交流灌水。传说,Tango有一大“水王”,他不但喜欢发贴,还会回复其他ID发的每个帖子。坊间风闻该“水王”...

    寻找发帖“水王”(微软)

    向您详细介绍微软测试题,相信您一定会有所收获。

    水王之家6KBBS美化插件版 v1.0

    全新特点(详情可以见论坛演示) 全面美化的论坛界面,强大的个人信箱中心; 实用但不豪华的插件,新增的后台管理功能; 1、面版与展区的全面综合:采用功能分类,个性化面版和展区,头部导航分类。...

    leetcode中国-BeautyOfProgramming:本书的代码

    leetcode中国 Contents Chapter 1 游戏之乐 1.1 让CPU占用率曲线听你指挥 CPU占用率曲线为正弦曲线的效果图 ...寻找发帖的“水王” 妙用抵消法 有一个地方存疑:对于N-1个元素,需要多少次遍历才能

    水王之家6KBBS美化插件版 v1.5

    全面美化的论坛界面,强大的个人信箱中心;实用但不豪华的插件,新增的后台管理功能;论坛管理默认用户名:admin 密码:admin

    6KBBS水王之家美化插件版 v1.5.rar

    增加美化: 1.美化了左侧 2.增加每**贴士 3.增加显示IP、浏览器等信息 4.修改签名栏在右侧显示 5.美化的发言的背景,虽然还是有点错误!... 6.... 7.... 8.... 9.... 10.... 11.... 12.... 13.... 14.... 15.... 16.... 17.... 18.... 19.... 20.... 21.... 22....

    机王争霸wap整站2.0

    这是我发布的第一个wap整站程序,以前从没学过asp,很多地方都不足,...有使用上的问题请联系webmaster@jxcqq.com,程序演示地址http://test.jxcqq.com 机王争霸(www.jxcqq.com) wap系统2.00版 发布于2005年11月21日

    机王争霸wap论坛 v1.0

    现今功能最强的wap论坛,支持表情、ubb,可以查看在线、加好友、发短信,有等级,有头像.

    水王之家6KBBS美化插件版 v1.61

    全面美化的论坛界面,强大的个人信箱中心;实用但不豪华的插件,新增的后台管理功能; 论坛管理默认用户名:admin 密码:admin

    机王争霸wap论坛1.0

    记得13900000000改成站长的号码 有使用上的问题请联系webmaster@jxcqq.com&lt;br&gt; &lt;br&gt; 机王争霸(www.jxcqq.com) wap论坛1.0版 发布于2005年10月29日 这论坛我已经测试过10天了,都可以正常运行,现在还不支持...

    Sublime Text 3绿色汉化破解版下载

    Sublime Text 3绿色汉化破解版下载 编程器完全汉化版。。

    [智能社]9小时精讲直播AngularJS课程_附教程课件 【百度云盘】

    AngularJS是一门非常值得学习的编程语言,在这系列中,详细地讲述了AngularJS的使用方法!想要学习AngularJS的不妨点击看看吧!

    MATLAB.zip

    要有的算法全部都有,十分有效,比分说层次分析法以及常用的灰色预测,时间序列都有相应的代码和案例,可供毫无基础和经验的同学直接上手建模。

    Sublime Text 3汉化语言包

    Sublime Text 3汉化语言包 Sublime Text 3汉化语言包 Sublime Text 3汉化语言包

    鱼c小甲鱼零基础学python全套课后题及答案

    鱼c小甲鱼零基础学python全套课后题及答案 鱼c小甲鱼零基础学python全套课后题及答案

    全国各地塑料价格数据表以及预测新建工程的废物回收率模型.zip

    内容包括全国各地塑料价格数据表以及预测新建工程的废物回收率模型,这些数据以及文献可以为建模提供思路,文件打开之后要重新解压,以便浏览

Global site tag (gtag.js) - Google Analytics