Leetcode 974 和可被K整除的子陣列

2021-09-11 08:13:23 字數 719 閱讀 7266

給定乙個整數陣列a,返回其中元素之和可被k整除(連續、非空)子陣列數目

示例1

輸入:a = [4,5,0,-2,-3,1],k = 5

輸出:7

解釋:有7個子陣列滿足其元素之和可被k = 5整除:

[4,5,0,-2,-3,1],[5],[5,0],[5,0,-2,-3],[0],[0,-2,-3],[-2,-3]

1<= a.length <= 30000

-10000 <= a[i] <= 10000

2 <= k <= 10000

連續子陣列問題一般使用字首和解決,首先要明確:假設a中有三個位置p....q.....r,其中a[p] % k = 2,a[q] % k = 2,a[r] % k = 2;則p與q之間的元素a[p+1].....a[q-1]之和一定可以被k整除,q與r之間的元素a[q+1]......a[r-1]之和一定可以被k整除,p與r之間的元素a[p+1]......a[r-1]之和一定可以被k整除。也就是三個點有

int subarraysdivbyk(vector& a, int k) ;

sum = ans = 0;

for(int i = 0;i < a.size();i++)

ans += count[0];

for(int i=0;i

return ans;

}

974 和可被 K 整除的子陣列

給定乙個整數陣列 a,返回其中元素之和可被 k 整除的 連續 非空 子陣列的數目。示例 輸入 a 4,5,0,2,3,1 k 5 輸出 7 解釋 有 7 個子陣列滿足其元素之和可被 k 5 整除 4,5,0,2,3,1 5 5,0 5,0,2,3 0 0,2,3 2,3 1 a.length 300...

974 和可被 K 整除的子陣列

給定乙個整數陣列 a,返回其中元素之和可被 k 整除的 連續 非空 子陣列的數目。示例 輸入 a 4,5,0,2,3,1 k 5 輸出 7 解釋 有 7 個子陣列滿足其元素之和可被 k 5 整除 4,5,0,2,3,1 5 5,0 5,0,2,3 0 0,2,3 2,3 1 a.length 300...

974 和可被 K 整除的子陣列

給定乙個整數陣列 a,返回其中元素之和可被 k 整除的 連續 非空 子陣列的數目。示例 輸入 a 4,5,0,2,3,1 k 5 輸出 7 解釋 有 7 個子陣列滿足其元素之和可被 k 5 整除 4,5,0,2,3,1 5 5,0 5,0,2,3 0 0,2,3 2,3 力扣上的題目,看了幾個小時看...