课堂练习--“找水王续"
设计思路:
①跟上次思路一样,将问题简化成从一个数组中找出出现次数最多的3个数。
②将“两两相消"的思路模式,变成“三一相消”
③初始化time为零,kingid为零,然后按顺序赋值,遇到跟kingid1相同的time1+1,其余两个同样;遇到跟三个都不同的所有time-1。
代码:
import java.util.*;
public class Findthreenum {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入数组的长度:");
        int length = input.nextInt();
        int[] id = new int[length];
        System.out.println("请输入数组:");
        for(int i=;i<length;i++)
        {
            id[i] = input.nextInt();
        }
        input.close();
        int kingid1=;
        int kingid2=;
        int kingid3=;
        int time1=;
        int time2=;
        int time3=;
        for(int i=;i<length;i++)
        {
            if(time1== && id[i]!=kingid2 && id[i]!=kingid3)
            {
                kingid1=id[i];
                time1++;
            }
            else if(time2== && id[i]!=kingid1 && id[i]!=kingid3)
            {
                kingid2=id[i];
                time2++;
            }
            else if(time3== && id[i]!=kingid1 && id[i]!=kingid2)
            {
                kingid3=id[i];
                time3++;
            }
            else if(id[i]!=kingid1 && id[i]!=kingid2 && id[i]!=kingid3)
            {
                time1--;
                time2--;
                time3--;
            }
            else if(id[i]==kingid1)
            {
                time1++;
            }
            else if(id[i]==kingid2)
            {
                time2++;
            }
            else if(id[i]==kingid3)
            {
                time3++;
            }
        }
        System.out.println("水王分别是:" + kingid1 + "," + kingid2 + "," + kingid3);
    }
}
结果截图:

总结:
本次的课堂练习相比上次而言感觉差不太多,就是出现次数多的数由一个变为三个,所以依旧采取上次的思路来做就不是很难了。
课堂练习--“找水王续"的更多相关文章
- VS2015做单元测试
		1.安装测试插件 2.新建测试用例 这里就用课堂练习找水王 作例子 写一个类waterKing.h和waterKing.cpp //idList.h #pragma once #include< ... 
- SOJ4389 川大贴吧水王 队列
		描述 _L的室友HZ喜欢在川大贴吧上发帖,据传说,HZ在川大贴吧上发的贴子数已经超过了该贴吧贴子总数的一半,被江湖人封为川大贴吧水王,你能帮_L迅速找出这位川大贴吧水王HZ的ID吗? 已知川大贴吧贴子 ... 
- (转)企业Shell实战-MySQL分库分表备份脚本
		本文来自http://www.xuliangwei.com/xubusi/252.html 免费视频讲解见 http://edu.51cto.com/course/course_id-5064.htm ... 
- 《从零玩转python+人工智能-3》网易云课堂王顺子
		#1.145——152节课25章——面向对象三大特性小案例 class Animal: def __init__(self,name,age=1): self.name = name self.age ... 
- java课堂实践(5月17日)20155317 王新玮
		对P145 MathTool.java 代码托管 在IDEA中,使用JUnit进行单元测试,测试用例不少于三个,要包含正常情况,边界情况.提交测试代码和运行结果截图,加上学号水印,提交码云代码链接. ... 
- 软件工程课堂作业(二)续——升级完整版随机产生四则运算题目(C++)
		一.设计思想: 1.根据题目新设要求,我将它们分为两类:一类是用户输入数目,根据这个数目改变一系列后续问题:另一类是用户输入0或1,分情况解决问题. 2.针对这两类要求,具体设计思路已在上篇博文中写出 ... 
- 耿丹CS16-2班课堂测试作业汇总
		Deadline: 2016-11-01 11:59 作业内容 课堂测试作业总结 00.题目得5分,多半扣在格式上,有些同学代码写得很过分,已经很仁慈对待,同学们珍惜之: 01.界面设计得分不好,换行 ... 
- 《清华梦的粉碎》by王垠
		清华梦的诞生 小时候,妈妈给我一个梦.她指着一个大哥哥的照片对我说,这是爸爸的学生,他考上了清华大学,他是我们中学的骄傲.长大后,你也要进入清华大学读书,为我们家争光.我不知道清华是什么样子,但是我 ... 
- zw字王《中华大字库》2018版升级项目正式启动
		zw字王<中华大字库>2018版升级项目正式启动 https://www.cnblogs.com/ziwang/p/9500537.html 这次升级是和字库协会一起合作,首批推出的字体, ... 
随机推荐
- BZOJ5341: [Ctsc2018]暴力写挂
			BZOJ5341: [Ctsc2018]暴力写挂 https://lydsy.com/JudgeOnline/problem.php?id=5341 分析: 学习边分治. 感觉边分治在多数情况下都能用 ... 
- Codeforces 808F. Card Game
			题目大意 一个物品有三个属性 : 价值,键值,等级. 你不能选取等级高于\(level\)的物品,键值之和为质数的两个数字不共存. 问最低的等级使得可以选出价值之和超过\(k\)的物品. \(n\le ... 
- python沉淀之路~~整型的属性
			python的基础知识: 基本数据类型:int str list tuple dict bool 一.整型的属性功能 1.工厂方法将字符串转换成整型 a = " b = ... 
- Angular5学习笔记 - 服务优化(十)
			一.服务合并 二.验证效果 
- 西安电子科技大学第16届程序设计竞赛 G-小国的复仇
			西安电子科技大学第16届程序设计竞赛网络同步赛 G-小国的复仇 2 链接:https://www.nowcoder.com/acm/contest/107/G来源:牛客网 题目描述 众所周知,汀老师是 ... 
- Java-API-Package:org.springframework.beans.factory.annotation
			ylbtech-Java-API-Package:org.springframework.beans.factory.annotation 1.返回顶部 1. @NonNullApi @NonNull ... 
- Unreal Engine 4的常见Tips
			转自:http://www.unrealchina.net/portal.php?mod=view&aid=66 退出游戏: UKismetSystemLibrary::QuitGame(th ... 
- SpringMVC—对Ajax的处理(含 JSON 类型)(1)
			一.首先要搞明白的一些事情. 1.从客户端来看,需要搞明白: (1)要发送什么样格式的 JSON 数据才能被服务器端的 SpringMVC 很便捷的处理,怎么才能让我们写更少的代码,如何做好 JSON ... 
- 第八章 Java中的并发工具类
			等待多线程完成的CountDownLatch countDownLatch允许一个或多个线程等待其他线程完成操作. public class CountDownLatchTest { static C ... 
- LAMP  2.2 Apache配置静态缓存
			这里的静态文件指的是图片.js.css 等文件,用户访问一个站点,其实大多数元素都是图片.js.css 等,这些静态文件其实是会被客户端的浏览器缓存到本地电脑上的,目的就是为了下次再请求时不再去服务器 ... 
