DI String Match

class Solution {
public:
    vector diStringMatch(string S) {
        size_t size=S.length();
        vector A;
        
        //使用贪心策略
        int d=size,in=0;
        
        for (int i=0;i A[i+1]
                    A.push_back(d);
                    //下一次的最大值
                    d--;
                    break;
                case 'I':
                    //遇到I,上升,即放置数组中未访问的最小值
                    //这样,无论下一个是谁,都可以确保A[i] < A[i+1]
                    A.push_back(in);
                    //下一次的最小值
                    in++;
                    break;
            }
        }
        A.push_back(S[size-1]=='D'?d:in);
        return A;
    }
};

 

你可能感兴趣的:(LeetCode)