力扣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;
      }
  };
相关推荐
RisunJan16 小时前
Linux命令-patch (为开放源代码软件安装补丁程序)
linux·服务器·算法
一条大祥脚16 小时前
ABC460贪心|多源BFS|数论|计数|线段树|树的直径
算法·宽度优先
小欣加油17 小时前
leetcode121买卖股票的最佳时机
数据结构·c++·算法·leetcode·职场和发展
IT策士17 小时前
Redis 从入门到精通:数据结构String 与键管理
数据结构·redis·wpf
暖阳华笺17 小时前
【高频考点】K-Means聚类算法
c++·算法·机器学习·kmeans·聚类
下午写HelloWorld17 小时前
后量子密码算法:协同签名研究综述
算法·密码学·后量子·协同签名
小蒋学算法17 小时前
算法-计算右侧小于当前元素的个数-分治&归并思想
java·数据结构·算法
lqqjuly17 小时前
FlashAttention 深度解析
人工智能·深度学习·算法
满怀冰雪17 小时前
第05篇-滑动窗口算法-一套模板解决子串与子数组问题
java·算法