力扣560.和为K的子数组

力扣560.和为K的子数组

  • 求前缀和 存入哈希表

    • 遍历所有前缀和 加入哈希表之前先找前面值为 k - s[i]的数量
cpp 复制代码
  class Solution {
  public:
      int subarraySum(vector<int>& nums, int k) {
          int n = nums.size();
          vector<int> s(n+1);
          for(int i=0;i<n;i++) s[i+1] = s[i] + nums[i];
  
          int res=0;
          unordered_map<int,int> cnt;
          for(int sj:s)
          {
              res += cnt[sj-k];
              cnt[sj] ++;
          }
          return res;
      }
  };
相关推荐
金宗汉18 小时前
《宇宙递归拓扑学:基于自指性与拓扑流形的无限逼近模型》
大数据·人工智能·笔记·算法·观察者模式
YY_TJJ20 小时前
算法题——贪心算法
算法·贪心算法
C++ 老炮儿的技术栈20 小时前
include″″与includ<>的区别
c语言·开发语言·c++·算法·visual studio
RainbowC021 小时前
GapBuffer高效标记管理算法
android·算法
liu****21 小时前
10.queue的模拟实现
开发语言·数据结构·c++·算法
mit6.82421 小时前
10.17 枚举中间|图论
算法
shinelord明21 小时前
【大数据技术实战】Kafka 认证机制全解析
大数据·数据结构·分布式·架构·kafka
让我们一起加油好吗21 小时前
【基础算法】01BFS
数据结构·c++·算法·bfs·01bfs
孤狼灬笑21 小时前
机器学习十大经典算法解析与对比
人工智能·算法·机器学习
草莓工作室1 天前
数据结构3:线性表2-顺序存储的线性表
数据结构·windows