我正在尝试查找以下算法的时间复杂度。
据我所见,alg1中的前两个循环是 n ^ 2 ,但是我不确定alg2中的循环将在什么时间运行。
public class algo {
public static int alg1(int[] A, int n) {
int l = 0;
for (int i = 0; i <= n-1; i++) {
for (int j = i+1; j <= n-1 ; j++) {
if(alg2(A,i,j) && j-i > l) {
l = j-i+1;
}
}
}
return l;
}
private static boolean alg2(int[] A,int i, int j) {
if(i==j) {
return true;
}
for (int k = i; k <= j-1; k++) {
if(A[k] != A[k+1]) {
return false;
}
}
return true;
}
}