zoukankan      html  css  js  c++  java
  • 找水王

    在题中水王的个数是大于一半以上的,所以我们采用相消原则,相同我们的b就加1,不相同我们的b就减一,最后如果b的个数大于1,因为我们前面采用了++b,所以b要大于1;如果b小于1那么就不存在水王。

    其中a用于记录剩余的那个帖子的ID。有水王就返回a,没水王就返回0;

    package waterwing;
    import java.util.Scanner;
    public class search {
        public static void main(String[] args) {
            Scanner sc =new Scanner(System.in);
            System.out.println("请输入ID的个数:");
            int n=sc.nextInt();
            int m[]=new int[n];
            System.out.println("请输入ID:");
            for(int i=0;i<n;i++)
            {
                m[i]=sc.nextInt();
            }
            int ID=search(m,n);
            System.out.println("水王是"+ID);
    
        }
        public static int search(int p[], int n)
        {
            int a=0,b=0;
            for (int i = 0; i < n; ++i)
            {
                if(a==0||b==0)
                {
                    a=p[i];
                    ++b;
                }
                else if(p[i]==a)
                    b=b+1;
                else
                    b=b-1;
                   
               
              }
     
            if(b>1) {
                return a;}
                        
                else 
                return 0;
          
            
            
            
            
            
            
            
            
            
            
            
            
             
        }
    
    }

  • 相关阅读:
    代码互改
    第一次个人编程作业
    第一次博客
    个人总结
    第三次个人作业--用例图设计
    第二次结对作业
    第一次结对作业
    记录浏览他人代码
    中文编程作业
    第一篇随笔
  • 原文地址:https://www.cnblogs.com/yang-qiu/p/10950925.html
Copyright © 2011-2022 走看看