zoukankan      html  css  js  c++  java
  • luogu P2397 yyy loves Maths VI (mode)

    题目背景

    自动上次redbag用加法好好的刁难过了yyy同学以后,yyy十分愤怒.他还击给了redbag一题,但是这题他惊讶的发现自己居然也不会,所以只好找你

    题目描述

    [h1]udp2:第一题因为语言性质问题,比赛结束后将所有c/c++的程序的内存调为2.2mb后重测。[/h1]

    他让redbag找众数

    他还特意表示,这个众数出现次数超过了一半

    一共n个数,而且保证有

    n<=2000000

    而且每个数<2^31-1

    输入输出格式

    输入格式:

    第一行一个整数n

    第二行n个整数

     

    输出格式:

    一行,这个众数

     

    输入输出样例

    输入样例#1: 
    5
    2 3 3 3 3
    输出样例#1: 
    3

    说明

    时间限制 1s

    空间限制 3.5M(你没看错3.5M)

    有人想水过,但我告诉你这空间是不够的

    //kkksc03偷偷地说:你随便输出一个数字吧,都有1/2的几率。不过这可是乐多赛,值得不值得你看着办。所以最好想一想正解。

    这还不简单以第一个数为标准,第一个数出现次数为1,下一个数若与这个数相同,则这个数的次数+1,若不相同则-1,若做标准的数次数为零,则下个数将这个替换掉,因为重数出现次数超过了一半,所以最后剩下的那个标准数,只能是众数。

    #include<bits/stdc++.h>
    using namespace std;
    int n,flag,x,cnt,now;
    int main()
    {
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
        {
            scanf("%d",&x);
            if(cnt==0)now=x,cnt++;
            else
            {
                if(now==x)
                {
                    cnt++;
                }
                else cnt--;
            }
        }
        printf("%d",now);
    }
  • 相关阅读:
    git clone SSL error解决
    day11_文件读写
    python练习day0120
    day12_文件读写_return
    GIS开发常用算法原理分析
    SoapToolkit3.0分发技术
    平台符合性审查测试工具安装教程
    MapX编程详解(C++)MapX发布技术
    Google地图定位偏移矫正
    串口通信编程多线程异步方式
  • 原文地址:https://www.cnblogs.com/rmy020718/p/8835352.html
Copyright © 2011-2022 走看看