leetcode:Sort Colors

1:

class Solution {
public:
    void sortColors(int A[], int n) {
        int b[3] = {0,0,0};
        for(int i=0;i<n;i++)
        {
            b[A[i]]++;
        }
        int i=0,j=0,k=0;
        for( ;i<b[0];i++)
        {
            A[i]=0;
        }
        for( ;j<b[1];j++)
        {
            A[i+j]=1;
        }
        for(;k<b[2];k++)
        {
            A[i+j+k]=2;
        }
    }
};

2:

class Solution {
public:
    void sortColors(int A[], int n) {
       int i=-1,j=-1,k=-1;
       for(int m=0;m<n;m++)
       {
           if(A[m]==0)
           {
               A[++k]=2;
               A[++j]=1;
               A[++i]=0;
           }
           else if(A[m]==1)
           {
               A[++k]=2;
               A[++j]=1;
           }
           else
           {
               A[++k]=2;
           }
       }
    }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章