• 找水王


    实验题目

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

    实验思想

     既然水王的发帖和回帖数目都超过了一半,那么我们只需要把所有的ID号排序在数组中,然后找到数组中间的ID便一定是水王的ID ,不过这种方法是要经过优化的。把所有的ID 根据发帖和回帖的顺序放在数组中,然后调用一个循环开始遍历,相邻两两进行比较,如果不相同则消掉,在数组中的编号也随之一起改变,知道最后一定会找到水王。

    实验代码

    // 信1201-2班 司新红 
    
    #include "stdafx.h"
    #include "iostream"
    using namespace std;
    
    int main()
    {
        int a[10]={1,3,2,3,2,3,1,3,3};
        int result = a[0];
        int times = 1;
        for(int i = 1; i < 10; i++)
        {
            if(a[i] == result)
                times++;
            else
                times--;
            if(times == 0)
            {
                result = a[i];
                times = 1;
            }
        }
        cout<<"水王为:"<<result<<endl;
        return 0;
    }

    实验心得:
    这个实验做起来是非常有趣的,难度不是很大,却有很有趣的思考点,喜欢这种题。

  • 相关阅读:
    leetcode297
    leetcode4
    leetcode23
    leetcode72
    leetcode239
    leetcode42
    leetcode128
    leetcode998
    SAP MM GR-based IV, 无GR不能IV?
    小科普:机器学习中的粒子群优化算法!
  • 原文地址:https://www.cnblogs.com/wantong/p/4448772.html
Copyright © 2020-2023  润新知