Leetcode 80 删除排序数组中的重复项 II

class Solution {// 双指针// slow代表已完成需要的数组的后一位,即要插入的位置// fast代表待检查的第一个元素public int removeDuplicates(int[] nums) {return f(nums, 2);}public int f(int[] nums, int k){int n = nums.length;int slow = k;int fast = k;while(fast < n){//当满足这个条件说明nums[fast]可以放到nums[slow]//因为这样nums[slow] != nums[slow - k]if(nums[slow - k] != nums[fast]){nums[slow] = nums[fast];slow++;}fast++;}return slow;}
}