找水龙续
2016-05-27 17:36
204 查看
设计思想:
定义数组储存ID。将每个水王ID都与其它ID进行抵消。首先先将前三个不同水军ID设为水王ID,开始抵消计数,“水王”中抵消后数量剩余为0的即被淘汰,用一个最新的水军ID继续进行抵消,最后剩下的即为水王ID。
代码实现:
实现截图:
个人总结:
这次找水王与第一次的思想相同,都是通过相消。第一次水王发帖数超过一半,通过两两相消,知道最后剩下的哪一个ID就是水王,这次是找出三个水王,就是删除三个ID。
定义数组储存ID。将每个水王ID都与其它ID进行抵消。首先先将前三个不同水军ID设为水王ID,开始抵消计数,“水王”中抵消后数量剩余为0的即被淘汰,用一个最新的水军ID继续进行抵消,最后剩下的即为水王ID。
代码实现:
import java.util.Scanner; public class DragonKing { public static void main(String[] args) { // TODO Auto-generated method stub int length;//帖子数量 int list[]={0,0,0};//计数 int IDofKing[]={0,0,0};//储存水王地址 System.out.println("请输入总帖子数量:"); Scanner sc=new Scanner(System.in); length=sc.nextInt(); int ID[]=new int[length];//储存所有的id地址 System.out.println("请输入水帖子的ID"); for(int j=0;j<length;j++) { ID[j]=sc.nextInt(); } /*求解过程*/ for(int i=0;i<length;i++) { if(list[0]==0&&ID[i]!=IDofKing[1]&&ID[i]!=IDofKing[2]) { list[0]=1; IDofKing[0]=ID[i]; } else if(list[1]==0 && ID[i]!=IDofKing[0] && ID[i]!=IDofKing[2]) { list[1]=1; IDofKing[1]=ID[i]; } else if(list[2]==0 && ID[i]!=IDofKing[0] && ID[i]!=IDofKing[1]) { list[2]=1; IDofKing[2]=ID[i]; } else if(ID[i]!=IDofKing[0] && ID[i]!=IDofKing[1] && ID[i]!=IDofKing[2]) { list[0]--; list[1]--; list[2]--; } else if(ID[i]==IDofKing[0]) { list[0]++; } else if(ID[i]==IDofKing[1]) { list[1]++; } else if(ID[i]==IDofKing[2]) { list[2]++; } } System.out.println("三个水王ID为:"+IDofKing[0]+" "+IDofKing[1]+" "+IDofKing[2]); } }
实现截图:
个人总结:
这次找水王与第一次的思想相同,都是通过相消。第一次水王发帖数超过一半,通过两两相消,知道最后剩下的哪一个ID就是水王,这次是找出三个水王,就是删除三个ID。
相关文章推荐
- UIImage和Base64字符串互转
- iOS友盟崩溃地址解析 通过dSYM文件分析定位线上 APP crash问题
- System.map符号表解析
- 探究多网卡UDP广播发送源地址
- PageRank的初步理解和实践
- NSUserDefault -- synchronize 浅析
- javaBean与Map<String,Object>互转
- win10系统全角半角切换
- mysql 数据库获取当前时间
- Centos 7通过grub修改root用户密码
- PAT 1021 Deepest Root (25) (并查集+DFS)
- 计算机专业人才面试小结
- JavaScript获取URL参数
- oracle的merge into操作详解
- webstorm破解
- 58. Length of Last Word
- 腾讯 AlloyTeam:超轻量级手势库AlloyFinger
- iOS 拍照界面,复制,粘贴等菜单的英文转中文
- L1-006. 连续因子(C++)
- BUG记录: