力扣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);
      }
  };
相关推荐
椰萝Yerosius24 分钟前
[题解]2024CCPC郑州站——Z-order Curve
c++·算法
小曹要微笑27 分钟前
STM32F7 时钟树简讲(快速入门)
c语言·stm32·单片机·嵌入式硬件·算法
南山安36 分钟前
栈(Stack):从“弹夹”到算法面试题的进阶之路
javascript·算法·面试
2301_764441332 小时前
Python构建输入法应用
开发语言·python·算法
AI科技星2 小时前
为什么变化的电磁场才产生引力场?—— 统一场论揭示的时空动力学本质
数据结构·人工智能·经验分享·算法·计算机视觉
TheLegendMe3 小时前
贪心+线程安全单例
算法·哈希算法
豐儀麟阁贵3 小时前
8.5在方法中抛出异常
java·开发语言·前端·算法
Hacker_Oldv3 小时前
Python技能进阶:探索Selenium库,实现网页自动化测试与爬虫
自动化测试·软件测试·爬虫·python·selenium·职场和发展
胖咕噜的稞达鸭3 小时前
算法入门:滑动窗口--->找到字符串中所有的字母异位词,串联所有的子串,最小覆盖子串
数据库·redis·算法
小青龙emmm3 小时前
2025级C语言第二次周测(国教专用)题解
c语言·开发语言·算法