• 找水王


    要求:

    一、设计思想

    水王的特点为:(1)每贴必回(2)水王的发贴数超过总贴数的一半;

      利用对子思想来解决水王问题。从头开始遍历,从第一个人的ID开始,进行比对,如果相同就对数量进行增加,如果不同,就对数量减一,如果为零就重新选择水王,由于水王的帖子最多且大于一半,所以最后剩下的一定就是水王。

    二、代码实现

    package YunSuan;

    import java.util.Scanner;

    /*

     * 寻找水王

     */

    public class ShuiWang {

        public static void main(String[] args) {

            int[] a = null;//存储帖子id

            Scanner sc = new Scanner(System.in);

            System.out.println("帖子总个数:");

            int sum = sc.nextInt();

            a = new int[sum];

            System.out.println("输入每个帖子的作者:");

            for(int i = 0;i < sum;i++)

            {

                a[i] = sc.nextInt();

            }

            sc.close();

            int n = 0;

            int id = -1;

            

            for(int i=0;i<a.length;i++)

            {

                if(n==0)

                {

                    id=a[i];

                    n=2;

                }

                else

                {

                    if(id==a[i])

                    {

                        ++n;

                    }

                    else

                    {

                        --n;

                    }

                }

            }

            System.out.println("水王的ID: " + id);

            

        }

        

    三、实现截图

    四、个人总结

    通过此次作业,感受到任何程序都要用脑去思考,有自己的思想,思路,如果思路正确,那么程序就很容易书写,以后应该多培养自己的逻辑思维能力。

  • 相关阅读:
    HDU1412:{A} + {B}
    [置顶] 写好最简单的冒泡排序
    python scrapy 基础
    hdu2531之BFS
    Direct3D 11的流水线
    Direct3D 11的资源
    Perl 多线程模块 Parallel::ForkManager
    POJ 3450 Corporate Identity (KMP+暴搞)
    hdu 2853
    我所理解的设计模式(C++实现)——中介者模式(Mediator Pattern)
  • 原文地址:https://www.cnblogs.com/th1314/p/7018182.html
Copyright © 2020-2023  润新知