标签:
一.设计思想
1.通过查找,每次从列表中删除两个不同的ID(不管是否包含“水王”的ID)
2.最后得出出现次数仍然超过总数的一半的ID
二.代码实现
public class ShuiWang { public static void main(String[] args) { // TODO Auto-generated method stub int[] array={5,1,2,3,8,5,5,5,5,4,5}; System.out.println(find(array)); } public static int find(int[] array) { int m=array.length; int n=0; int a=0; for(int i=0;i<m;i++) { if(a==0) { n=array[i]; a=1; } else { if(n==array[i]) { ++a; } else { --a; } } } return n; } }
三.实现截图
四.个人总结
我采用的这个算法有个缺点,不能确切知道这个ID出现多少次,只能知道这个ID出现的次数大于一半,如果想知道,最后还要遍历多次。
通过这次课堂测验,我知道了能做出来并不难,但是要用一个最佳方法才是我们应该考虑学习的。
标签:
原文地址:http://www.cnblogs.com/niujunyan/p/5499131.html