DEV Community

Discussion on: Daily Challenge #184 - Form the Minimum

Collapse
 
vidit1999 profile image
Vidit Sarkar • Edited

Here is my C++ code

vector<int> minValueHelper(vector<int> v){
    set<int> s;
    bool presentZero = false;
    for(int i : v){
        if(i==0)
            presentZero = true;
        s.insert(i);
    }
    if(presentZero){
        // because 0 cannot be in front of any number
        // minValue({1, 1, 7, 0}) should not return 017 but should return 107
        vector<int> v(s.begin(),s.end());

        // if only zero is given in vector return zero
        // else swaping
        if(v.size() > 1)
            swap(v[0],v[1]);
        return v;
    }
    return vector<int>(s.begin(),s.end());
}

int minValue(vector<int> v){
    vector<int> minVector = minValueHelper(v);
    string s = "";
    for(int i : minVector)
        s += to_string(i);
    return stoi(s);
}