关闭

Remove Duplicates from Sorted Array II

384人阅读 评论(0) 收藏 举报
分类:

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].

Remove Duplicates from Sorted Array很雷同!

int removeDuplicates(int A[], int n) {
        
        int current,index;
        int count;
        current = 1;
        index = 0; //取值很关键
        count = 1;
        
        if(n <= 2 )return n;

        while(current <  n)
        {
            if(A[current] == A[current-1])
            {
                count++;
                if(count <= 2) 
                {
                    A[++index]=A[current];//主要在这个地方,小于2的重复,还是的覆盖!
                }
                current++;
                
            }
            else   
            {   
                count = 1;
                A[++index]=A[current];
                
                current ++;
            }
            
        }
        return index+1 ;
    }


//主要是俩下标,以及计数值,并且后面的小于2的重复的数,向前覆盖即可!

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:78122次
    • 积分:2058
    • 等级:
    • 排名:第18691名
    • 原创:132篇
    • 转载:37篇
    • 译文:0篇
    • 评论:0条
    文章分类