楼主:
Rushia (みけねこ的鼻屎)
2024-03-25 09:22:35https://leetcode.com/problems/find-all-duplicates-in-an-array
442. Find All Duplicates in an Array
给你一个大小为 n 的阵列,里面只包含1~n,每个元素只会出现一次或两次,求出哪些
数字出现超过一次。
你必须使用常数空间和线性时间复杂度。
思路:
1.把整个阵列当成一个 map,因为数字只在1~n的关系不需额外空间,每次都把
nums[i] - 1 位置的索引标记成负数(乘上-1),如果某次走访时发现已经是负的
就表示当前值重复出现了。
pycode: