• 课堂练习――找水王


    问题:水王会回复其他ID的每个帖子,坊间传闻水王水王发帖数目超过了帖子数目的一半。如果你有一张当前论坛的帖子包括回帖列表,其中帖子作者的ID也在其中,你能快速找到这个传说中的水王吗?

    设计思想:帖子之间两两对比对比,把留言出现一次的人去掉,最后会找出水王

    源代码:

    #include <iostream>
     
    using namespace std;
     
    typedef int  DataType;
     
    DataType FindKing(DataType* ID,int n)
    {
        DataType candidate;
        int nTime,i;
        nTime = 0;
        for(int i=0;i<n;i++)
        {
            if(nTime ==0 )
            {
                candidate = ID[i];
                nTime = 1;
            }
            else
            {
                if(candidate ==ID[i])
                    nTime ++;
                else
                    nTime --;
            }
        }
        return candidate;
    }
    int main()
    {
        DataType ID[10] = {1,1,1,1,1,2,3,4,5,1};
        cout<<FindKing(ID,10)<<endl;
        getchar();
        return 0;
    }

    截图:

    个人总结:自己一开始想的是比较复杂的遍历方法,经过老师点拨,幡然醒悟.

  • 相关阅读:
    Vue 中常见性能优化
    简单模板引擎实现
    函数柯理化
    url 解析
    快排
    防抖节流实现
    call、apply、bind 实现
    深克隆
    数组去重
    eventEmitter 简单实现
  • 原文地址:https://www.cnblogs.com/1756696425ss/p/10095814.html
Copyright © 2020-2023  润新知