题解 | 明明的随机数

明明的随机数

https://www.nowcoder.com/practice/3245215fffb84b7b81285493eae92ff0

n = int(input())
seen = [False] * 501  # 索引1到500
for _ in range(n):
    x = int(input())
    seen[x] = True

for i in range(1, 501):
    if seen[i]:
        print(i)

这个问题是典型的“去重+排序”,可以用多种方法解决。由于数据范围很小(1 ≤ ai ≤ 500),最简单的做法是使用一个布尔数组标记每个数字是否出现过,然后按顺序输出出现过的数字。

思路说明

  1. 读入整数 n。
  2. 用一个大小为 501 的布尔数组(或集合)记录每个数字是否出现过。
  3. 读入 n 个数字,将对应位置标记为 true。
  4. 从小到大遍历 1 到 500,如果出现过就输出。
全部评论

相关推荐

05-18 12:59
已编辑
东南大学 人工智能
夜晚的精灵:熟悉transformer架构,熟悉机器学习,强化学习这些都可以写上去
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务