leetcode

Solution to some Leetcode problems written in C++
git clone git://git.dimitrijedobrota.com/leetcode.git
Log | Files | Refs | README | LICENSE

1090.cpp (689B)


0 class Solution { 1 public: 2 int largestValsFromLabels(const vector<int> &values, const vector<int> &labels, int numWanted, 3 int useLimit) { 4 static int count[20001], idx[20001]; 5 memset(count, 0x00, sizeof(count)); 6 7 const int n = values.size(); 8 iota(begin(idx), begin(idx) + n, 0); 9 sort(begin(idx), begin(idx) + n, [&](int a, int b) { return values[a] > values[b]; }); 10 11 int res = 0; 12 for (const int i : idx) { 13 if (count[labels[i]] >= useLimit) continue; 14 res += values[i]; 15 if (!--numWanted) break; 16 count[labels[i]]++; 17 } 18 return res; 19 } 20 };