力扣2080.区间内查询数字的频率

力扣2080.区间内查询数字的频率

  • 在下标上做二分

    • 把所有下标存入哈希表
    • 在left,right的范围内做二分求个数
cpp 复制代码
  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);
      }
  };
相关推荐
好好沉淀24 分钟前
1.13草花互动面试
面试·职场和发展
mit6.82434 分钟前
序列化|质数筛|tips|回文dp
算法
rgeshfgreh38 分钟前
C++字符串处理:STL string终极指南
java·jvm·算法
Protein_zmm1 小时前
【算法基础】二分
算法
Lips6111 小时前
2026.1.11力扣刷题笔记
笔记·算法·leetcode
charlie1145141912 小时前
从 0 开始的机器学习——NumPy 线性代数部分
开发语言·人工智能·学习·线性代数·算法·机器学习·numpy
执携3 小时前
算法 -- 冒泡排序
数据结构·算法
寻星探路3 小时前
【算法专题】滑动窗口:从“无重复字符”到“字母异位词”的深度剖析
java·开发语言·c++·人工智能·python·算法·ai
程序员小白条3 小时前
面试 Java 基础八股文十问十答第八期
java·开发语言·数据库·spring·面试·职场和发展·毕设
wen__xvn4 小时前
代码随想录算法训练营DAY14第六章 二叉树 part02
数据结构·算法·leetcode