找水王
此次作业任务由井小普、张贺合作完成
编程思路:
水王的特点为:(1)每贴必回(2)水王的发贴数超过总贴数的一半;
利用对子思想来解决水王问题。从头开始遍历,从第一个人的ID开始,进行比对,如果相同就对数量进行增加,如果不同,就对数量减一,如果为零就重新选择水王,由于水王的帖子最多且大于一半,所以最后剩下的一定就是水王。
package YunSuan; import java.util.Scanner; /* * 寻找水王 */ public class ShuiWang { public static void main(String[] args) { int[] a = null;//存储帖子id Scanner sc = new Scanner(System.in); System.out.println("帖子总个数:"); int sum = sc.nextInt(); a = new int[sum]; System.out.println("输入每个帖子的作者:"); for(int i = 0;i < sum;i++) { a[i] = sc.nextInt(); } sc.close(); int n = 0; int id = -1; for(int i=0;i<a.length;i++) { if(n==0) { id=a[i]; n=2; } else { if(id==a[i]) { ++n; } else { --n; } } } System.out.println("水王的ID是 : " + id); } }
通过此次作业,感受到任何程序都要用脑去思考,有自己的思想,思路,如果思路正确,任何程序不过是纸老虎,以后应该多培养自己的逻辑思维能力。