Minimum Rounds to Complete All Tasks LeetCode solution in C++
1class Solution {2public:3int minimumRounds(vector<int> &tasks) {4unordered_map<int, int> mp;5for (int i = 0; i < tasks.size(); i++) {6mp[tasks[i]]++;7}89int output = 0;1011for (auto freq : mp) {12if (freq.second == 1) return -1;13if (freq.second % 3 == 0) {14output += freq.second / 3;15} else {16output += freq.second / 3 + 1;17}18}19return output;20}21};