zoukankan      html  css  js  c++  java
  • 每日一题——统计数字

    统计数字

    本题来源:牛客网
    题目链接:https://ac.nowcoder.com/acm/problem/16643
    难度星级:2星
    主要考察:排序、字典

    这是一道简单(相对于部分语言来说)的排序的题目,先来看题

    时间限制:C/C++ 1秒,其他语言2秒
    空间限制:C/C++ 262144K,其他语言524288K
    64bit IO Format: %lld

    题目描述

    某次科研调查时得到了n个自然数,每个数均不超过1500000000((1.5*10^9))。已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果。

    输入描述:

    第1行是整数n,表示自然数的个数。
    第2~n+1行每行一个自然数。

    输出描述:

    输出m行(m为n个自然数中不相同数的个数),按照自然数从小到大的顺序输出。每行输出两个整数,分别是自然数和该数出现的次数,其间用一个空格隔开。

    示例1

    输入
    8
    2
    4
    2
    4
    5
    100
    2
    100
    
    输出
    2 3
    4 2
    5 1
    100 2
    

    备注:

    40%的数据满足:1 ≤ n ≤ 1000
    80%的数据满足:1 ≤ n ≤ 50000
    100%的数据满足:1 ≤ n ≤ 200000,每个数均不超过1500000000((1.5*10^9)

    题目分析

    这道题要考虑的有两个点,一是统计输入的所有自然数,二是输出的时候要按照数字大小升序输出。
    考虑到这两点,我决定用python来AC这道题。

    具体解决

    分别解决这两个点

    统计输入的所有自然数

    这个很简单,只要开一个字典,将数字作为键,次数作为值就好了

    number = {}
    for i in range(n):
        x = int(input())
        if x in number.keys():
            number[x] += 1
        else:
            number[x] = 1
    

    输出的时候要按照数字大小升序输出

    我这里用的方法是把所有的键存入一个列表中,再将列表排序,由于python列表有排序用的sort()方法,所以直接调用就好了,如果是其他语言的话,就这给的时间限制,我估计无论用什么排序应该也都不会超时吧。当然肯定也不止这种方法,随意发挥就好。排序完后依次输出就好了。

    key = list(number.keys())
    key.sort()
    for i in key:
        print("{} {}".format(i, number[i]))
    

    实现代码(python3.9)

    n = int(input())
    number = {}
    for i in range(n):
        x = int(input())
        if x in number.keys():
            number[x] += 1
        else:
            number[x] = 1
    key = list(number.keys())
    key.sort()
    for i in key:
        print("{} {}".format(i, number[i]))
    

    提交结果

    over!

    本博客同时发表在CSDN中,链接:https://blog.csdn.net/tangkcc/article/details/113695923

    能力有限,如有错误之处,敬请指正!

  • 相关阅读:
    问题解决:System.TypeLoadException: 未能从程序集“XXX”中加载类型“XXX
    域名格式验证
    .NET 中String 和StringBuilder 以及他们的区别
    mysql 重设管理员密码 或忘记管理员密码 (必杀)
    CMD 命令
    C# 给多线程传参的三种方式
    django 表单数据的验证实现原理
    django上传文件
    django signal
    Django如何处理语言偏好(根据此可以设置中文)
  • 原文地址:https://www.cnblogs.com/tangkc/p/14377975.html
Copyright © 2011-2022 走看看