现在可以在288hu什么地方找到题带的,许还友可能恢复Www288huCom到正常的时候吧

给定一个整数数组 A返回其中元素之和可被 K 整除的(连续、非空)子数组的数目。

有 7 个子数组满足其元素之和可被 K = 5 整除:

解法一:暴力枚举 + 前缀和

时间复杂度:O(N2

空间複杂对度:O(1)

解法二:哈希表 + 逐一统计

因此可以使用 HashMap 来存储前缀和 mod K 后所得值出现的次数遍历数组 A 的每一项,求当前项的前缀和 mod K 存入 map Φ

  • 之前没有存过,则作为 key 存入值为 1
  • 之前存过,则对应值 +1

并将该 前缀和 mod K 出现的次数累加到结果中

空间复杂对度:O(min(N,K))即哈希表需要的空间

我要回帖

更多关于 带湖 的文章

 

随机推荐