leetcodeSolution to some Leetcode problems written in C++ |
git clone git://git.dimitrijedobrota.com/leetcode.git |
Log | Files | Refs | README | LICENSE |
2080.cpp (535B)
0 class RangeFreqQuery { 1 unordered_map<int, vector<int>> um; 2 3 public: 4 RangeFreqQuery(const vector<int> &arr) { 5 for (int i = 0; i < size(arr); i++) { 6 um[arr[i]].push_back(i); 7 }; 8 } 9 10 int query(int left, int right, int value) const { 11 const auto it = um.find(value); 12 13 static const vector<int> dummy; 14 const auto &vec = it != end(um) ? it->second : dummy; 15 16 return distance(lower_bound(begin(vec), end(vec), left), upper_bound(begin(vec), end(vec), right)); 17 } 18 };