int result = 0;
int i = 0;
while (i < n/2){
result += arr[i];
i += 1;
while (i >= n/2 && i < n){
result += arr[i];
i += 1;
}
}
printf("%d\n", result);
好像因爲直到第一循環執行1/2第二環路將不被執行將被O(N)次中執行* n次。但我也可以說第一個循環執行O(n)次,第二個執行O(n)次,因此它是O(n^2)。我現在很混亂,哪一個是對的?我發現這個大O符號計算,哪一個是正確的兩個答案
這是O(n)你的代碼等於從0到n的一個循環 –