fucking-algorithm
fucking-algorithm copied to clipboard
如何同时寻找缺失和重复的元素 :: labuladong的算法小抄
东哥,"是否可以在 O(1) 的空间复杂度之下找到重复和确实的元素呢?","缺失"敲成了"确实"
@Joycn2018 感谢指出,我改下~
645这个有点疑惑当输入为[2,2]时,结果为啥是[2,1],不应该是[1,2]吗?
这个方法好妙,想不出来😥
645这个有点疑惑当输入为
[2,2]时,结果为啥是[2,1],不应该是[1,2]吗?
要看清楚题目哦,题目中说先找到重复的,再找到缺失的。
nums[index]也没说放的就是值是Index的元素呀...
如果给出的数组不是[1...n], 而是[0,n-1]和索引一一对应,那么当nums[dup]==0时,也就是重复索引下对应的元素为0时,是找不到重复的数字的,同样,当缺失数字索引下对应的元素为0时,也是找不到缺失的数字的
如果这行: dup = Math.abs(nums[i]); 改为: dup = index + 1; 就和算missing的方法一致了。
感觉两个for循环 可以合并啊,没必要再单独照一次,nums[index] < 0 说明i就是不存在的元素