要求:给出有序数据[1,1,1,2,2,3,4,5,5,6,7,8],更改为[1,2,3,4,5,6,7,8,x,x,x,x],并且得出长度8.
在原数据上操作,只遍历一次,x是不需要关心的数据。
直接上代码
public int del(int[] arr) {
if(arr == null || arr.length == 0){return 0;}
//设置快慢指针的方法
int slow = 0, fast = 1;
while(fast < arr.length){
if(arr[slow] != arr[fast] ) {
slow ++;
arr[slow] = arr[fast];
}
fast ++;
}
return slow + 1;
}
arr就是处理后的数据。