本文主要是介绍力扣2080.区间内查询数字的频率,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
力扣2080.区间内查询数字的频率
-
在下标上做二分
- 把所有下标存入哈希表
- 在left,right的范围内做二分求个数
-
class RangeFreqQuery {unordered_map<int, vector<int>> pos;public:RangeFreqQuery(vector<int>& arr) {for(int i=0;i<arr.size();i++){pos[arr[i]].push_back(i);}}int query(int left, int right, int value) {auto it = pos.find(value);if(it == pos.end()) return 0;auto &a = it->second;return ranges::upper_bound(a,right) - ranges::lower_bound(a,left);}};
这篇关于力扣2080.区间内查询数字的频率的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!