#include #include class Solution { public: std::vector> findMatrix(const std::vector &nums) { // count the numbers std::map freqs; for (auto x : nums) { ++freqs[x]; } std::vector> matrix; bool elements_left = true; while (elements_left) { elements_left = false; std::vector row; for (auto &[num, count] : freqs) { if (count <= 0) { continue; } --count; row.push_back(num); elements_left = elements_left || count > 0; } matrix.push_back(row); } return matrix; } };