給定乙個整數陣列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 力扣上的題目,看了幾個小時看...