給出一個大小爲N的整數數組A.您將得到Q查詢,其中每個查詢由兩個整數L,R表示。您必須找到gcd(最大公約數)不包括部分從範圍左至右包容性的後陣列
數組的GCD
我的方法:
public static int gcd(int a ,int b) {
if(b == 0) return a;
return gcd(b, a % b);
}
for(int j = 0; j < Q; j++) {
int l = in.nextInt();
int r = in.nextInt();
ans = 0;
for(int k = 1; k <= n; k++) {
if(k < l || k > r) ans = gcd(a[k], ans);
}
System.out.println(ans);
}
但這種做法給我時間超出限制的錯誤,我怎樣才能提高我的alogrithm
gcd從哪裏來? – ChiefTwoPencils
@ChiefTwoPencils已更新 – user162091
你有沒有想過把它分解成兩個; 'k = 0 ...
ChiefTwoPencils