力扣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;
      }
  };
相关推荐
我也要当昏君20 小时前
时间复杂度
算法·数学建模
超级大福宝20 小时前
C++ 中 unordered_map 的 at() 和 []
数据结构·c++
业精于勤的牙20 小时前
浅谈:算法中的斐波那契数(六)
人工智能·算法
小孟的CDN20 小时前
使用pytorch进行batch_size分批训练,并使用adam+lbfgs算法——波士顿房价预测
pytorch·算法·batch·代码·adam+lbfgs
仰泳的熊猫20 小时前
1037 Magic Coupon
数据结构·c++·算法·pat考试
AI科技星20 小时前
质量定义方程的物理数学融合与求导验证
数据结构·人工智能·算法·机器学习·重构
小羊学伽瓦20 小时前
ThreadLocal
java·jvm·算法
程芯带你刷C语言简单算法题20 小时前
Day30~实现strcmp、strncmp、strchr、strpbrk
c语言·学习·算法·c
桓峰基因20 小时前
SCS 60.单细胞空间转录组空间聚类(SPATA2)
人工智能·算法·机器学习·数据挖掘·聚类
天赐学c语言20 小时前
12.17 - 合并两个有序数组 && include<> 和 include““ 的区别
c++·算法·leecode