LeetCode Remove Duplicates from Sorted Array II

来源:互联网 发布:mac 照片 相簿 编辑:程序博客网 时间:2024/05/16 07:10

Follow up for "Remove Duplicates":
What if duplicates are allowed at most twice?

For example,
Given sorted array A = [1,1,1,2,2,3],

Your function should return length = 5, and A is now [1,1,2,2,3].

遍历一遍array,定义变量pos和cur,表示新数组赋值位置和当前遍历的位置。

如果不到2次,就赋值A[pos]=A[cur];,

否则cur++;

public class Solution {    public int removeDuplicates(int[] A) {        int len=A.length;        if(len==0)  //判断数组为空的情况            return 0;        int pos=0;        int cur=1;        int num=1;  //计数        while(cur<len){             if(A[cur]==A[cur-1])        {        num++;        if(num<=2)        {        pos++;        A[pos]=A[cur];        }        }        else        {        num=1;        pos++;        A[pos]=A[cur];        }        cur++;        }        return pos+1;    }}


0 0