• 课堂练习-----查找水王


     查找水王id

    一、设计思路

          题目要求:

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

         设计思路:

            在水王发帖数目超过了帖子数目一半的前提下,将id表中每相邻两条帖子的id进行比较,若两个id不相同,则直接过滤掉,按照这种方法,最后留下的id就是水王的id。

    二、程序源代码   

     1 // shuiwang.cpp : Defines the entry point for the console application.
     2 //
     3 
     4 #include "stdafx.h"
     5 #include<iostream.h>
     6 int find(int arr[],int num)
     7 {
     8     int shuiwang;
     9     int x;
    10     for(int i=x=0;i<num;i++)
    11     {
    12         if(x==0)
    13         {
    14             shuiwang=arr[i],x=1;
    15         }
    16         else
    17         {
    18             if(shuiwang==arr[i])
    19             {
    20                 ++x;
    21             }
    22             else
    23             {
    24                 --x;
    25             }
    26         }
    27     }
    28     printf("这个“水王”的ID就是:");
    29     printf("%d
    ",shuiwang);
    30     return shuiwang;
    31 }
    32     
    33 int main(int argc, char* argv[])
    34 {
    35     int arry[7]={1,2,1,3,1,4,1};
    36     find(arry,7);
    37     return 0;
    38 }

    三、运行结果截图

        

    四、总结

          在本次查找水王的id时,我借鉴了网上关于水王查找的思想。在自己设计思路时,总是没办法找到一个很好的办法去实现相邻的两个id的比较和数据的过滤,很让人苦恼,后来看到别人通过设定中间变量的方法来实现,顿时恍然大悟,觉得妙不可言,也对自己的思维进行了变通,得到一定的进步。

  • 相关阅读:
    Redis的安装与使用
    jQuery操作input值总结
    jquery获得select option的值和对select option的操作
    jsp弹出新窗口代码
    MyEclipse10.0优化
    MyEclipse安装FreeMarker插件
    增强MyEclipse的代码自动提示功能
    PowerDesigner 技巧【3】
    PowerDesigner 快捷键
    PowerDesigner 技巧【2】
  • 原文地址:https://www.cnblogs.com/mudanhuakai/p/4446972.html
Copyright © 2020-2023  润新知