leetcode

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

2353.cpp (836B)


0 class FoodRatings { 1 unordered_map<string, set<pair<int, string>>> order; 2 unordered_map<string, string> category; 3 unordered_map<string, int> rating; 4 5 public: 6 FoodRatings(const vector<string> &foods, const vector<string> &cuisines, const vector<int> &ratings) { 7 for (int i = 0; i < foods.size(); i++) { 8 order[cuisines[i]].emplace(-ratings[i], foods[i]); 9 category.emplace(foods[i], cuisines[i]); 10 rating.emplace(foods[i], ratings[i]); 11 } 12 } 13 14 void changeRating(const string &food, int newRating) { 15 auto &st = order[category[food]]; 16 st.erase(st.find({-rating[food], food})); 17 rating[food] = newRating; 18 st.emplace(-rating[food], food); 19 } 20 21 string highestRated(const string &cuisine) { return order[cuisine].begin()->second; } 22 };