645.错误的集合(力扣leetcode) 博主可答疑该问题

一、笔记部分

思路:1.可以用排序,先排序后连续两个相同,还有那个位置上缺了就是那个 

          2.转化为负数,先遍历一次先将每个元素所对应位置的树转化为负数,然后再遍历一次看那个是负数,就是出现了两次;再看索引的数字是否为负数,因为出现了的都是为负数,找出是正数的索引就是数组元素中没有的元素。、

   巧妙应用双重套娃!!! nums[nums[i]-1]  将数组元素作为索引,去处理当前索引下的那个位置的数,来的到我们想要的结果

1.遍历每个数组的元素

2.将元素当作索引去判断,此索引下面的数是否为负数,如果是负数那么就意味着这是一个重复索引,映射回for(n:nums) 就是重复的数据元素;其中必须取n的绝对值,因为都弄成负数了的,所以被弄成负数的那个元素可能还没有开始当索引,所以肯定要先变为绝对值,才能取到索引。

3.只要是数组中的元素,都映射成了索引了。所以没有映射的索引对应的数肯定是正数。

二、数组与矩阵类型的高频面试题汇总:

https://blog.csdn.net/qq_40262372/article/details/113150843

三、各种类型的高频面试题汇总:

https://blog.csdn.net/qq_40262372/article/details/112556249

 

四、如有疑问可加QQ群讨论:725936761 博主免费答疑

猜你喜欢

转载自blog.csdn.net/qq_40262372/article/details/113151350
今日推荐