• 寻找水王


    题目描述:

    三人行设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子数目的一半。 如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这个传说中的水王吗?

     设计思路很简单,掺在注释里了:

    package waterking;
    
    public class WaterKing {
    public static String find(String a[], int n) {
    //
        String k = a[0];
    //首先定义一个数组,用于存放数值
        int num = 0;
    //定义num来计数
        for (int i = 0; i < n; i++) {
    //定义一个循环
            if (num == 0) {
    
                k = a[i];
    
                num = 1;
    
            } else if (a[i] == k) {
    
                num++;
    
            } else {
    
                num--;
    
            }
    
        }
        //这个循环的作用是首先遍历,如果有不同的字符就消去,相同字符就让num++,这样因为水王是占一半以上的,所以消到最后剩下的就是水王,返回K值就行了。
        return k;
    }
    
    
    public static void main(String[] args) {
    
        String a[] = { "4", "7", "2", "4", "2", "3", "6", "4", "4", "3", "4", "4", "1", "4", "4", "3", "5" };
    //作为参数使用的数组
        int n = a.length;
    //作为循环条件的数组长度
        System.out.print("水王ID:");
    //输出水王id即可
        System.out.println(find(a, n));
    }
    }

    然后是截图:

  • 相关阅读:
    Redis数据库
    python的web运用
    python对 if __name__=='__main__'的理解
    python的函数
    python的四种内置数据结构
    python的循环和选择
    关于oracle设置主键自增的问题
    用HttpClient和用HttpURLConnection做爬虫发现爬取的代码少了的问题
    ORACLE not available如何解决
    集合(下)
  • 原文地址:https://www.cnblogs.com/jyt123/p/10963302.html
Copyright © 2020-2023  润新知