力扣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;
      }
  };
相关推荐
这是个栗子几秒前
前端开发中的常用工具函数(持续更新中...)
前端·javascript·算法
断剑zou天涯1 分钟前
【算法笔记】有序表——相关题目
笔记·算法
wearegogog1233 分钟前
基于MATLAB的微光图像增强实现方案
算法
断剑zou天涯6 分钟前
【算法笔记】有序表——SB树
笔记·算法
曾几何时`8 分钟前
滑动窗口(十五)2962. 统计最大元素出现至少 K 次的子数组(越长越合法型)
数据结构·算法
蜂蜜黄油呀土豆10 分钟前
Redis 数据结构详解:从底层实现到应用场景
数据结构·redis·跳表·zset
Bdygsl11 分钟前
数据结构 —— 队列
数据结构
究极无敌暴龙战神X14 分钟前
机器学习相关
人工智能·算法·机器学习
于樱花森上飞舞16 分钟前
【多线程】CAS和哈希表
java·数据结构·java-ee
断剑zou天涯25 分钟前
【算法笔记】有序表——跳表
笔记·算法