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

    一、题目要求

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

    二、解题思路

      1、把表中的 id 列取出,存入数组中。

      2、将数组的第一个元素(id)赋值给临时变量temp,计数变量num赋值1。

      3、用temp和下一个数据进行比较,若相等则num加一,若不相等num减一。

      4、若结束temp就是“水王”,若temp减到0,说明此时为止“默认水王”已经和其他的评论者抵消完了==开始的状态,执行第二步。

      5、因为“水王”发帖数目超过了帖子数目的一半,所有经过1-4,遍历一遍一定可以找到水王。

    public class Findsw{
        public static void main(String[] args) {
            int p[]={18,10,10,3,10,10,10,9,5,10,11,10,13,13};
            int ID=find(p,p.length);
            System.out.println("水王的ID为:"+ID);}
    
        public static int find(int p[], int n){
            int temp=0,num=0;
            for (int i = 0; i < n; ++i){
                if(num==0){
                    temp=p[i];
                    num++;}
                else if(p[i]==temp){
                    num++;}
                else {
                    num--;}}       
            return temp;}}
    View Code
  • 相关阅读:
    LeetCode "Jump Game"
    LeetCode "Pow(x,n)"
    LeetCode "Reverse Linked List II"
    LeetCode "Unique Binary Search Trees II"
    LeetCode "Combination Sum II"
    LeetCode "Divide Two Integers"
    LeetCode "First Missing Positive"
    LeetCode "Clone Graph"
    LeetCode "Decode Ways"
    LeetCode "Combinations"
  • 原文地址:https://www.cnblogs.com/dg1137/p/13085187.html
Copyright © 2011-2022 走看看