lundi 19 mars 2018

Group and sort a vector by common/repetitive elements in c++

Suppose I have a vector as follows

std::vector<int> v = {3, 9, 7, 7, 2};

I would like to sort this vector of elements so that the vector will be stored as 77932. So first, we store the common elements (7), then we sort the remaining elements from the highest to the lowest.

If I have a vector as follows

std::vector<int> v = {3, 7, 7, 7, 2};

Here, it would lead to 77732.

Same for

std::vector<int> v = {7, 9, 2, 7, 9};

it should lead to 99772, because the 9s are higher than 7s.

What could be the fastest algorithm to implement this?

Aucun commentaire:

Enregistrer un commentaire