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

    1.设计思想

    定义一个数组依次输入每个帖子对应的ID号,将数组的第一个值赋给m,以后就用m记录ID号,用j记录是否为相同的ID即为计数器,通过依次对每一个帖子进行遍历,如果是ID号与m记录的ID号相同,j便增加1,否则减少1,当j减为0时,m记录的是下一个的ID号,j从1开始计数,最后剩下的那个或是数量最多的m即为水王的ID。

    2.源程序

    #include <iostream>
    #define N 10000
    using namespace std;
    
    void main()
    {
        int n,a[N];
        cout<<"请输入帖子的数量:";
        cin>>n;
        int i;
        cout<<"请依次输入帖子对应的ID号:"<<endl;
        for(i=0;i<n;i++)
        {
            cin>>a[i];
        }
        int m=a[0];
        int j=1;
        for(i=1;i<n;i++)
        {
            if(a[i]==m)
                j++;
            else
            {
                m=a[i+1];
                j--;
            }
    
        }
        if(j>0)
            cout<<"水王的ID号为:"<<m<<endl;
        
    }

    3.结果截图

    4.总结

    刚开始看到题目的时候,一直不太清楚题目要求的是什么,后来听了老师的解释和提示,理解了题意,但是思路还没有很好的形成,不知道如何下手去解决,听了同学的讲解后,也确实是要想进行优化即时间复杂度为O(n),进行一次遍历,用一个变量作为计数器,就用相同的就增加,不同的就消掉,最后剩的那个或是数量多的就是要找的ID。还是一定要扩展自己思考问题的思路,改变角度,这样解决问题就很轻松。

  • 相关阅读:
    SpringBoot快速入门(三)
    分布式解决方案
    计算机网络-自顶向下方法第六章
    计算机网络-自顶向下方法第四章
    springcloud记录
    计算机网络-自顶向下方法第三章
    springboot整合kafka
    计算机网络-自顶向下方法第二章
    计算机网络-自顶向下方法第一章
    Spring常用注解【经典总结】
  • 原文地址:https://www.cnblogs.com/mxj333/p/4513473.html
Copyright © 2011-2022 走看看