在许多编程语言中,可以通过使用数据结构或特定的函数来保存数组元素的位置。下面是一些常见的解决方法,包含代码示例:
def find_duplicates(nums):
hashmap = {}
duplicates = []
for i, num in enumerate(nums):
if num in hashmap:
duplicates.append(num)
else:
hashmap[num] = i
return duplicates
nums = [1, 2, 3, 1, 4, 2, 5]
print(find_duplicates(nums)) # 输出:[1, 2]
def find_duplicates(nums):
seen = set()
duplicates = []
for num in nums:
if num in seen:
duplicates.append(num)
else:
seen.add(num)
return duplicates
nums = [1, 2, 3, 1, 4, 2, 5]
print(find_duplicates(nums)) # 输出:[1, 2]
def find_duplicates(nums):
duplicates = []
positions = [[-1, -1] for _ in range(len(nums))]
for i, num in enumerate(nums):
if positions[num][0] != -1:
duplicates.append(num)
else:
positions[num] = [i, num]
return duplicates
nums = [1, 2, 3, 1, 4, 2, 5]
print(find_duplicates(nums)) # 输出:[1, 2]
这些方法都可以在遍历数组时保存元素的位置,进而用于后续的处理。具体使用哪种方法取决于你的编程语言和问题要求。