图片来自代码随想录总结。(@代码随想录-数组总结)
二分法
适用条件:
- 无重复元素;
- 有序数组
双指针
- 需要注意两个指针的作用,它们分别指向什么
- 对于27,fast快指针指向的是新数组的元素,而slow慢指针指向的是新数组元素对应的下标,283同上
26 删除有序数组中的重复项
因为是递增序列,说明相同项在一起,并且前后是从大到小排列的
删除重复项,需要定义两个指针p和q–> 这里q指向第二个位置,p指向第一个位置
比较nums[p]是否与nums[q]相等——for循环:如果相等,q后移一位;如果不相等,那么nums[q]需要赋值给nums[p+1],p后移一位;
最终返回唯一元素的个数,由于已经删除重复元素,所以数组长度就是最终的唯一元素个数
|
|