解题思路-LeetCode第442题:数组中重复的数据
题目描述:
给定一个整数数组 a,其中1 ≤ a[i] ≤ n (n为数组长度), 其中有些元素出现两次而其他元素出现一次。找到所有出现两次的元素。
示例:
输入:
[4,3,2,7,8,2,3,1]
输出:
[2,3]
解题思路:
如果是相同的元素,那么以他们为索引的元素值一定是同一个值,因此可以修改该值来标记是否被访问过。要原地修改元素,就不能影响其自身作为索引的访问,那么只有一种办法,那就是将该元素取反,或者加减某个数,在访问的时候,再通过取正或者加减某个数还原回来。
代码如下:
提交后,通过。