注意:有序数组;原地删除重复出现的元素;返回删除后数组的新长度
1.顺序数组
2.原地删除即不可以通过将数组赋值给set(set不允许重复项)来简易去除重复项
3.返回数组的新长度,不要求返回新数组
方法:双指针法
int[] nums = {0,1,2,2,3,3,4}public int removeDuplicates(int[] nums){if(nums.length == 0){return 0;}int i = 0;//在前的慢指针for(int j = 1; j<nums.length; j++){//在后的快指针if(nums[j] != nums[i]){//一前一后不相同时,后者赋值给前者//一前一后相同时,后者继续往前走,前者留步i++;//慢指针向前移动nums[i] = nums[j];//不相同时,将快指针赋值给慢指针}//结果就是相同的会被忽略掉,不相同的会被重新整合}return i+1;//此处+1是因为i开始值为0,求长度则应该+1}
