力扣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;
      }
  };
相关推荐
小糯米6014 分钟前
C语言 自定义类型:结构体 与 联合体
c语言·开发语言·数据结构
菜菜的顾清寒19 分钟前
力扣HOT100(34)图论-岛屿数量
算法·leetcode·图论
圣保罗的大教堂19 分钟前
leetcode 2657. 找到两个数组的前缀公共数组 中等
leetcode
名字不好奇20 分钟前
大模型的思考模式:它真的在“想“吗?
人工智能·算法
Run_Teenage29 分钟前
算法模板:输入输出,并查集
java·开发语言·算法
chengO_o36 分钟前
AVL树详解与实现(C++)
数据结构·c++·avl树·平衡二叉搜索树
高一学习c++会秃头吗39 分钟前
操作系统内存块分配算法
算法
洛水水41 分钟前
【力扣100题】57.合并区间
算法·leetcode
圣保罗的大教堂41 分钟前
leetcode 33. 搜索旋转排序数组 中等
leetcode
玉树临风ives41 分钟前
atcoder ABC 458 题解
数据结构·c++·算法