//解题思路就是通过一个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();
}

}