zoukankan      html  css  js  c++  java
  • 课堂练习之谁是水王(一)

    设计思想:

    可以遍历ID表,两两相邻的ID进行比较,若不同则删掉,那么在剩余的ID表中水王的ID号仍然超过总数的一半,不断重复这个过程,把列表中ID总数降低,最后剩下的肯定是水王的ID。

    代码实现:

    //根据一张ID账户列表,找出水王的ID号码(水王发帖回帖数目超过1/2)
    //范亚雷   2016.05.20
    
    import javax.swing.JOptionPane;
    
    public class KingWater {
        public static void main(String[] args) {
            String inputNumber = JOptionPane.showInputDialog("请输入要测试的ID号码的数量:");
            int Number=Integer.parseInt(inputNumber);
            String[] ID=new String[Number];
            
            //input
            for(int i=0;i<Number;i++)
            {
                String inputID= JOptionPane.showInputDialog("请输入列表中第"+(i+1)+"个ID号码:");
                ID[i]=inputID;
            }
            
            String WaterKing=new String();
            int sentry=0;  
    
            for(int i=0;i<Number;i++)
                { 
                    if(sentry == 0)
                    { 
                        WaterKing = ID[i]; 
                        sentry = 1; 
                    } 
                    else
                    { 
                        if(WaterKing.equals(ID[i])) 
                            sentry ++; 
                        else  
                            sentry --; 
                    } 
                }
    //output JOptionPane.showMessageDialog(
    null, WaterKing, "水王的ID是:",JOptionPane.PLAIN_MESSAGE); } }

    实现截图:

    个人总结:

    这次实验题目有个条件就是水王发帖的ID号超过所以ID号一半以上,因此这就是这题的突破点。对于时间复杂度,好的设计思路可以大大降低时间复杂度,比如这题就可以将时间复杂度降低到O(N)。

  • 相关阅读:
    python知识点整理一
    Selenium之自动化常遇问题
    git学习
    哈,又是总结内容
    2.3返回IP地址(requests模块安装,get请求发送,loads 解析json到字典)
    2.2返回状态码的分类描述
    2.1JSON数据格式
    1.6file文件
    福利:字符串与字符编码
    1.5list中sort && sorted
  • 原文地址:https://www.cnblogs.com/fan-xiaofan/p/5513019.html
Copyright © 2011-2022 走看看