leetcode 알고리즘 문제 -- 최 장 즐거움 문자열 ★

7257 단어 알고리즘
원본 링크:https://leetcode-cn.com/problems/longest-happy-string/
욕심 산법
string longestDiverseString(int a, int b, int c) {
    vector<vector<char>> v;
    v.push_back({(char)a,'a'});
    v.push_back({(char)b,'b'});
    v.push_back({(char)c,'c'}); 

    string ans;
    while(ans.size()<a+b+c){
        sort(v.rbegin(),v.rend());//       ,v[0]      ,v[1]    
        if(ans.size()>0&&ans.back()==v[0][1]){//       ,        ,      。            
            if(v[1][0]-- >0) ans+=v[1][1];
            else return ans;
        }else{//    2      
            if(v[0][0]-- >0) ans+=v[0][1];
            if(v[0][0]-- >0) ans+=v[0][1];
        }
    }
    return ans;
}

좋은 웹페이지 즐겨찾기