我遇到了一个算法问题.请为我提出一些针对以下问题的有效算法.
问题是
查找数量的子数组,其总和可以被给定的数字整除.
我的工作
我做了一个算法,其复杂度为O(N ^ 2),这里,N =数组的大小.
我的守则
#include<stdio.h>
using namespace std;
main() {
int N;
int P;
int T;
int val;
long long int count = 0;
long long int answer = 0;
scanf("%d", &T);
//T = 20;
for(int k = 1; k <= T; k++) {
scanf("%d", &N);
scanf("%d", &P);
count = 0;
answer = 0;
for(int i = 0; i < N; i++) {
scanf("%d", &val);
count += val;
workingArray[i] = count;
}
for(int length = …Run Code Online (Sandbox Code Playgroud)