力扣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;
      }
  };
相关推荐
古城小栈6 分钟前
开发常用 宏
算法·rust
m0_748248656 分钟前
C语言向C++过渡
c语言·c++·算法
qq_4232339019 分钟前
跨语言调用C++接口
开发语言·c++·算法
定偶23 分钟前
网络编程总结
开发语言·网络·数据结构·网络编程
CoderCodingNo26 分钟前
【GESP】C++五级练习题 luogu-B3628 机器猫斗恶龙
开发语言·c++·算法
橘颂TA33 分钟前
【剑斩OFFER】算法的暴力美学——力扣 1020 题:飞地的数量
数据结构·c++·算法·leetcode·职场和发展·结构与算法
hetao173383740 分钟前
2026-01-27~28 hetao1733837 的刷题记录
c++·笔记·算法
2301_8223663542 分钟前
C++中的智能指针详解
开发语言·c++·算法
探序基因43 分钟前
查看bam文件指定位点的基因测序情况计算基因型
数据结构·学习方法