一、设计思路:
每次删除两个不同的ID(不管是否包含水王的ID),那么,在剩下的ID列表中,水王ID出现的次数仍然超过总数的一半。可以通过不断重复这个过程,直到只剩下一个id。这就是水王的id:
二:实验代码:
package shuzu; public class SW { public static void main(String[] args) { String[] ids = {"W","W","S","H","W","W"}; System.out.println("水王的id是 "+find(ids)); } public static String find(String[] id){ if(id == null){ System.out.println("请输入id列表"); return null; } int n = id.length; String SW= null; int ntimes,i; for(i = ntimes = 0;i<n;i++){ if(ntimes == 0){ SW = id[i]; ntimes = 1; } else{ if(SW == id[i]) ntimes ++; else ntimes --; } } return SW; } }
三:实验截图:
四:个人总结
思维转换还是有点慢,直到看到同学的代码。