最近没有更新不是没做,单纯是有些懒,不知道说点啥了

链接如下,2080. 区间内查询数字的频率
感觉我的做法有些暴力,用一个hashmap存的字符串对应的值,发现完全没用到二分查找的思想,能过也是奇迹了。
C++代码如下
cpp
class RangeFreqQuery {
public:
vector<int> R_arr;
unordered_map<string,int> hmap;
RangeFreqQuery(vector<int>& arr) {
R_arr = arr;
}
int query(int left, int right, int value) {
int cnt = 0;
if(hmap.find(to_string(left)+'.'+to_string(right)+'.'+to_string(value))!= hmap.end()){
cnt = hmap[to_string(left)+'.'+to_string(right)+'.'+to_string(value)] ;
return cnt;
}
for(int i = left;i<=right;i++){
if(R_arr[i] == value)
cnt++;
}
hmap[to_string(left)+'.'+to_string(right)+'.'+to_string(value)] = cnt;
return cnt;
}
};
/**
* Your RangeFreqQuery object will be instantiated and called as such:
* RangeFreqQuery* obj = new RangeFreqQuery(arr);
* int param_1 = obj->query(left,right,value);
*/