可以使用集合(set)来去重,然后再将去重后的集合转换回列表。由于集合是无序的,为了保持原数组的顺序,可以使用一个新的列表来保存去重后的值的顺序。

下面是一个示例代码:

def remove_duplicates(arr):
    seen = set()
    result = []
    for item in arr:
        if item not in seen:
            seen.add(item)
            result.append(item)
    return result

# 示例用法
arr = [1, 2, 3, 1, 2, 4, 5, 6, 5]
result = remove_duplicates(arr)
print(result)  # 输出: [1, 2, 3, 4, 5, 6]

在上面的代码中,seen是一个集合,用于保存已经遇到过的元素。result是一个新的列表,用于保存去重后的元素的顺序。遍历原数组arr,如果当前元素不在seen集合中,则将其添加到seen集合和result列表中。最后返回result列表即可。

这样做的时间复杂度是O(n),空间复杂度也是O(n),其中n是原数组的长度

python3根据数组的值去重尽量不改变顺序

原文地址: https://www.cveoy.top/t/topic/iF0A 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录