zoukankan      html  css  js  c++  java
  • LeetCode OJ--Sort Colors

    https://oj.leetcode.com/problems/sort-colors/

    0,1,2对这三个数组成的序列,扫描一遍的排序。

    class Solution {
    public:
        void sortColors(int A[], int n) {
            int x = -1, y = -1, z = -1; // x means the last 0's position
            
            for(int i = 0; i < n; i++)
            {
                if(A[i] == 2)
                {
                   z = i;
                }
                else if(A[i] == 1)
                {
                    if(i == 0) // the first element
                    {
                        y = 0;
                        continue;
                    }
                    if(A[i-1] == 2)
                    {
                        if(y < x) //if y is -1
                        y = x;
                        y++;
                        A[y] = 1;
                        A[i] = 2;
                        z = i;
                    }
                    else 
                        y = i;
                }
                else
                {
                    if(i ==0)
                    {
                        x = 0;
                        continue;
                    }
                    if(A[i -1] == 1)
                    {
                        x++;
                        A[x] = 0;
                        A[i] = 1;
                        y = i;
                    }
                    else if(A[i -1] == 2)
                    {
                        A[i] = 2;
                        z = i;
                        x++;
                        if(A[x] == 2)
                        A[x] = 0;
                        else if(A[x] ==1)
                        {
                            y++;
                            A[y] = 1;
                            A[x] = 0;
                        }
                    }
                    else
                       x = i;
                    
                }
            }
            return;
        }
    };
  • 相关阅读:
    I-Cache和D-cache
    socat使用
    反射
    属性方法
    getitem
    文件打开编辑和函数参数
    python3编码问题个人理解
    正文内容 python3编码问题
    进度条制作
    集合关系
  • 原文地址:https://www.cnblogs.com/qingcheng/p/3789686.html
Copyright © 2011-2022 走看看