您的位置:首页 > 其它

Remove Duplicates from Sorted Array II

2014-04-02 15:47 316 查看
做这道题的时候很纠结,下面这个程序能够AC,

int n=A.length;
int i=0,j=0,cnt=0;
if(n==0||n==1) return n;
for(i=0;i<n-1;i++){
if(A[i]==A[i+1]&&cnt<2){
A[j++]=A[i];
cnt++;
}else if(A[i]==A[i+1]&&cnt>=2){
cnt++;
}else if(A[i]!=A[i+1]&&cnt<2){
A[j++]=A[i];
cnt=0;
}else if(A[i]!=A[i+1]&&cnt>=2){
cnt=0;
}

}
if(A[n-1]!=A[n-2]||A[n-1]==A[n-2]&&cnt<2)
A[j++]=A[n-1];
return j;


但是下面这个就不行,

if(A==null){
//            return 0;
//        }else if(A.length<2){
//            return A.length;
//        }else{
//            int n=A.length;
//            int flag=0;
//            int p=A[0];
//            for(int i=0;i<n;i++){
//                if(flag<2&&p==A[i]){
//                    flag++;
//                }else if(flag>=2&&p==A[i]){
//                    for(int j=i+1;j<n;j++){
//                        A[j-1]=A[j];
//                    }
//                    n--;
//                    i--;
//                }else{
//                    p=A[i];
//                    flag=0;
//                }
//            }
//            return n;
//        }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: