2 条题解

  • 0
    @ 2026-6-5 8:53:37

    注意到本题中, aia_i 的范围为 1ai1001 \leq a_i \leq 100, 因此我们可以直接开一个长度为100的数组,修改和查询对应下标内容时间复杂度为O(1)O(1),

    遍历原数组复杂度为O(n)O(n)

    综合总复杂度为O(n)O(n)

    代码示例:

    n = int(input())
    appear = [0 for i in range(101)]
    arr = list(map(int,input().split()))
    ans = []
    for i in arr:
        if appear[i] == 0:
            ans.append(i)
            appear[i] = 1
    print(*ans)
    

    这个方法仅限用于ai106a_i \leq 10^6 情况下,更大情况请参考隔壁破寻负的题解

    另外,因此题n足够小,故循环嵌套检查的方法也可以通过本题

    信息

    ID
    1168
    时间
    1000ms
    内存
    256MiB
    难度
    3
    标签
    递交数
    16
    已通过
    9
    上传者