找到水王
package com.company; import java.util.Vector; /* 找出水王 */ public class Main { public static void main(String[] args) { // write your code here Vector<Integer> a=new Vector<>();//构建动态数组 Integer f=8; for(int i=0;i<47;i++) { Integer k=(int) (1+Math.random()*100); a.add(k);//添加48个在1-100的随机数 } for(int i=0;i<53;i++) { a.insertElementAt(f,(int) (1+Math.random()*a.size()-1));//向这48个数中随机插入8,这个水王数字 } for (Integer integer : a) System.out.print(integer + " "); System.out.println(); int cnt=0; int ans=0; /*解决方法类似于消消乐,根据目前已有的数量和其他的对比,不一样就都消掉,一样就增加个数*/ for(int i=0;i<a.size();i++) { if(cnt==0) { ans=a.get(i); cnt++; } else { if(ans==a.get(i)) cnt++; else cnt--; } } System.out.println(); System.out.println("海王编号:"+ans); } }
以上程序是借鉴的朋友的。主要是应用的动态数组的相关思想。
找水王中。最不怕的就是删除记录。所以更具这个来进行操作。
就仿佛我们玩的消消乐中的一点的思想。最后剩下的哪个数字就是我们要寻找的水王。