14周课堂测试---找水王
生活随笔
收集整理的這篇文章主要介紹了
14周课堂测试---找水王
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
問題概述:尋找發帖人中的水王·---發帖超過一半
問題抽象化:尋找數組中出現超過一半的數字
要求:只使用一次循環結構
解決思路:將出現的數組元素遍歷兩兩比較,相同則加一,不同則減一,當減為0時更換元素
由于水王出現超過一半,故當遍歷完成后剩下的就是水王。
?
1 package zhaoshuiwang; 2 3 import java.util.Scanner; 4 5 public class water { 6 public static void main(String[] args) { 7 System.out.println("請輸入帖子數目"); 8 Scanner sc=new Scanner(System.in); 9 int n=sc. nextInt();//數量 10 System.out.println("請依次輸入各個帖子發帖人id"); 11 int a[]=new int[n]; 12 for (int i=0;i<n;i++) 13 a[i]=sc.nextInt(); 14 System.out.println(Find(a,n)); 15 sc.close(); 16 } 17 18 19 //水王pk,相同者+,不同者-,最后剩下水王 20 public static int Find(int a[],int n){ 21 int king=a[0]; 22 int number=1; 23 for (int i=0;i<n;i++){ 24 if (number==0){ 25 king=a[i]; 26 number=1; 27 }else 28 if (a[i]==king){ 29 number++; 30 }else{ 31 number--; 32 } 33 } 34 return king; 35 } 36 37 } water?
轉載于:https://www.cnblogs.com/yeshenfeng/p/10951103.html
總結
以上是生活随笔為你收集整理的14周课堂测试---找水王的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: QList模板类常用接口函数
- 下一篇: 推荐一款好用的redis客户端工具