//解题思路就是通过一个for循环来标记重复数字出现的次数,在for循环的过程中更新变量的值
public class Solution {
public int removenums (ArrayList<Integer> nums) {
// write code here
if(nums==null){
return 0;
}
int size = nums.size();
//当列表的长度是1或者2的时候
if(size==1||size==2){
return size;
}
//赋初始值
int time=1;
int lastValue = nums.get(0);
for (int i = 1; i < size; i++) {
if(nums.get(i)==lastValue){
time++;
//当出现的次数大于3的时候,更新索引值与size值
if(time>=3){
nums.remove(i);
size--;
i--;
}
} else {
//重新赋初始值
lastValue=nums.get(i);
time=1;
}
}
return nums.size();
}
}