课堂练习--“找水王续"
设计思路:
①跟上次思路一样,将问题简化成从一个数组中找出出现次数最多的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 这次升级是和字库协会一起合作,首批推出的字体, ...
随机推荐
- Vue 内联样式的数据绑定
Vue 内联样式的数据绑定 之前学的是数据绑定 class,现在可以将数据绑定到 style 中. <div id="app"> <div v-bind:styl ...
- 1、在Eclipse中安装TestNG(离线方式)
1.TestNG安装包:链接: https://pan.baidu.com/s/1UXZlJfrp8LM-6XmDLzVXKg 密码: 46y2 2.安装教程: (1).下载testNG 离线安装包[ ...
- Python 算法之二分查找
二分查找 二分查找又称折半查找 优点是比较次数少,查找速度快,平均性能好 缺点是要求待查表为有序表,且插入删除困难 折半查找方法适用于不经常变动而查找频繁的有序列表. 猜数字游戏 1.生成一个有序列表 ...
- 机器学习:调整kNN的超参数
一.评测标准 模型的测评标准:分类的准确度(accuracy): 预测准确度 = 预测成功的样本个数/预测数据集样本总数: 二.超参数 超参数:运行机器学习算法前需要指定的参数: kNN算法中的超参数 ...
- yum 使用笔记
yum 重新配置了源以后,用 yum clean all 先clean一下,才能用新的.
- sql server将字符串转换为 uniqueidentifier 时失败
sql server查询中出现 将字符串转换为 uniqueidentifier 时失败异常 原因为id设置为uniqueidentifier 字段,在where查询时需要做转换cast(id as ...
- git学习 删除远程分支
2种方法删除远端分支: git branch -r -d origin/branch-name // -r: 远端: -d:删除 git push origin :branch-name ...
- “百度杯”CTF比赛 2017 二月场(Misc Web)
爆破-1: 打开链接,是502 我直接在后面加个变量传参数:?a=1 出了一段代码 var_dump()函数中,用了$$a,可能用了超全局变量GLOBALS 给hello参数传个GLOBALS 得到f ...
- 第二章 深入分析Java I/O的工作机制(待续)
Java的I/O类库的基本架构 磁盘I/O工作机制 网络I/O工作机制 NIO的工作方式 I/O调优 设计模式解析之适配器模式 设计模式解析之装饰器模式 适配器模式与装饰器模式的区别
- 10-17C#语句(3)--跳转语句、异常处理语句
回顾: 穷举法(重点掌握):虽然运用for...嵌循环语句,但是也要找到执行for...循环的规律, 即一个题目中,需要得到哪个值,首先定义它初始变量:哪个条件需要改变,它对应的就是for...循环的 ...