(C++練習) 942. DI String Match

題目 :

Given a string S that only contains "I" (increase) or "D" (decrease), let N = S.length.

Return any permutation A of [0, 1, ..., N] such that for all i = 0, ..., N-1:

大意 :

針對 D/I 做一些題目規劃的運算, 則第一個遇到的D 會是總長度.

 1 class Solution {
 2 public:
 3     vector<int> diStringMatch(string S) {
 4 
 5         int len = strlen(S.c_str());
 6         char symbolD = 'D';
 7         char symbolI = 'I';
 8         int lo = 0, hi = len;
 9         vector<int> ans;
10         
11         for (int i = 0; i < len; i++){
12 
13             if (S[i] == symbolI)
14                 ans.push_back(lo++);
15             else
16                 ans.push_back(hi--);
17         }
18         ans.push_back(lo);
19         return ans;
20     }
21 };

 

posted on 2019-03-02 23:21  OO程式猿  阅读(120)  评论(0)    收藏  举报

导航