【leetcode】Remove Duplicates from Sorted Array

class Solution {
public:
    int removeDuplicates(int A[], int n) {
        // Note: The Solution object is instantiated only once and is reused by each test case.
        
        int groupNum=0;
        int i=0;
        while(i<=n-1)//O(n)找出所有的group
        {
            int cur=A[i];
            while(i+1<=n-1&&A[i+1]==A[i])
                i++;
            groupNum++;
            i++;
        }
        
        int loc=1;//loc爲group的下標,A[0]已經使用了loc=0
        for(i=1;i<=n-1;i++)//A[0]保持不變,從A[1]開始進行合併
        {
            if(A[i-1]==A[i])
                continue;
            else//碰到一個新的group
            {
                A[loc]=A[i];
                loc++;
            }
        }
        return groupNum;
    }
};

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章