力扣974.和可被K整除的子数组

力扣974.和可被K整除的子数组

  • 将余数相同的做差

    • 若为负数要翻正再存入哈希表
    • 若为正数要存入哈希表
    • 统一操作 (sj % k + k ) % k
cpp 复制代码
  class Solution {
  public:
      int subarraysDivByK(vector<int>& nums, int k) {
          int n = nums.size();
          vector<long> 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(long sj:s)
          {
              //重要操作
              int t = (sj % k + k) % k;
              res += cnt[t];
              cnt[t] ++;
          }
          return res;
      }
  };
相关推荐
2401_8732046516 小时前
C++中的策略模式进阶
开发语言·c++·算法
xushichao198916 小时前
C++中的职责链模式实战
开发语言·c++·算法
大鹏说大话16 小时前
数据库查询优化全攻略:从索引设计到架构演进
算法
小O的算法实验室16 小时前
2025年IEEE TETCI SCI2区,一种用于二次无约束二进制优化的协同神经动力学算法,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
2301_8184190116 小时前
C++中的协程编程
开发语言·c++·算法
add45a16 小时前
C++中的工厂方法模式
开发语言·c++·算法
無限進步D16 小时前
二分算法 cpp
算法
xushichao198916 小时前
C++中的工厂模式高级应用
开发语言·c++·算法
2501_9249526916 小时前
C++模块化编程指南
开发语言·c++·算法
qzhqbb16 小时前
差分隐私与大模型+差分隐私在相关领域应用的论文总结
人工智能·算法