参考答案
结论:有序数组去重可用快慢指针原地完成,慢指针维护无重复前缀,返回新长度。核心要点:慢指针slow初始化0,快指针fast从1遍历;当nums[fast]!=nums[slow]时slow前移并赋值nums[slow]=nums[fast];fast每次递增;结束后slow+1即为不重复元素个数。原理:数组有序使重复项必相邻,快指针探测新值,慢指针依次填充;区别于删除特定值(比较目标值),此处比较慢指针所指完成去重。时间O(n)单次扫描,空间O(1)原地修改。示例:[1,1,2,2,3]处理后前3位为[1,2,3],返回长度3。