📌  相关文章
📜  应用给定操作q次后,找到数组中不同数字的数量(1)

📅  最后修改于: 2023-12-03 15:09:47.878000             🧑  作者: Mango

题目:在给定操作q次后,找到数组中不同数字的数量

介绍

本文将介绍如何在给定操作q次后,找到数组中不同数字的数量。在本题中,我们需要给定一个整数数组和一个操作次数q,每次操作都是将数组中的某个数字修改为另一个数字。我们需要在进行了q次操作后,找到数组中有多少个不同的数字。

解题思路

要求不同数字的数量,我们可以使用 set 类型来保存数字。每次修改时,我们可以将修改前的数字从 set 中删除,并将修改后的数字加入 set 中。最后,set 中元素的数量即为数组中不同数字的数量。

具体实现如下所示:

def count_dif_nums(nums, q):
    s = set(nums)
    for _ in range(q):
        i, j = map(int, input().split())
        if nums[i-1] in s:
            s.remove(nums[i-1])
            s.add(j)
        nums[i-1] = j
    return len(s)
使用示例
nums = [1, 2, 3, 4, 5]
q = 2
count_dif_nums(nums, q)

输出结果为:

5
总结

本文介绍了如何在给定操作q次后,找到数组中不同数字的数量。使用 set 类型可以方便地存储不同的数字,最后使用 len 函数即可求出数量。