leetcode

我的 leetcode 题解(JavaScript)


这题其实不值得记录, 因为用的贪心,其实很简单, 但是我没做出来, 是的, 菜, 我太菜了, 被这个花里胡哨的题迷惑了, 看到讨论区有很多老哥说理解这题题目用了很久, 我也差不多, 虽然很快知道了题要让我干什么, 但是没有转化到一个很好的模型上, 把一个简单题想的贼复杂…

另外想记录下这个题是因为很少用c++ 做, 今天了解了下 STL map 相关的知识

class Solution {
public:
    int largestValsFromLabels(vector<int> values, vector<int> labels, int num_wanted, int use_limit, int res = 0) {
      multimap<int, int> s;
      unordered_map<int, int> m;
      for (int i = 0; i < values.size(); ++i) s.insert({values[i], labels[i]});
      // return s.size();
      for (auto it = rbegin(s); it != rend(s) && num_wanted > 0; ++it) {
        cout<<it->second<<it->first<<endl;
        if (++m[it->second] <= use_limit) {
          res += it->first;
          --num_wanted;
        }
      }
      return res;
    }
};