一种解决方法是使用一个额外的数据结构,如集合(Set),来存储已经出现过的元素。
代码示例(Python):
def remove_duplicates(nums):
# 创建一个空集合
unique_nums = set()
# 创建一个空列表,用于存储不重复的元素
result = []
# 遍历输入的数组
for num in nums:
# 如果当前元素不在集合中,说明是第一次出现
if num not in unique_nums:
# 将当前元素添加到集合和结果列表中
unique_nums.add(num)
result.append(num)
return result
# 测试示例
nums = [1, 2, 3, 3, 4, 4, 5]
print(remove_duplicates(nums)) # 输出 [1, 2, 3, 4, 5]
这个算法的时间复杂度是O(n),其中n是输入数组的长度。因为需要遍历整个数组一次,并且在集合中查询元素的平均时间复杂度是O(1)。
上一篇:不重复的加权随机抽样数组项
下一篇:不重复的随机数存储在变量中