python3根据数组的值去重尽量不改变顺序
可以使用集合(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是原数组的长度
原文地址: https://www.cveoy.top/t/topic/iF0A 著作权归作者所有。请勿转载和采集!