双指针-删除排序数组中的重复项
2022-03-18 本文已影响0人
习惯水文的前端苏
题目
![](https://img.haomeiwen.com/i22517122/b230bd80489ddfdd.png)
一般解法
代码
![](https://img.haomeiwen.com/i22517122/3fcfc2e5123e5218.png)
问题
双for循环,时间复杂度为O(n^2)
双指针解法
由于已是排序数组,故相等的必然相邻。使用l作为慢指针,r作为扫描指针。当且仅当arr[l]!==arr[r]时移动l并将r对应的值换到l处。相比与第一种,使用了单for循环,时间复杂度上为O(n)
![](https://img.haomeiwen.com/i22517122/21d89603ab5ecbf2.png)
题目
一般解法
代码
问题
双for循环,时间复杂度为O(n^2)
双指针解法
由于已是排序数组,故相等的必然相邻。使用l作为慢指针,r作为扫描指针。当且仅当arr[l]!==arr[r]时移动l并将r对应的值换到l处。相比与第一种,使用了单for循环,时间复杂度上为O(n)