在最坏的情况下(未能找到总和返回false),代码的复杂度方程是什么,它的BigO是什么? 我把//和我认为正确的次数1,n,n ^ 2。你能检查我计算的正确吗?
public static boolean hasSum(int arr[], int sum){
int n = arr.length; //1
for(int i =0; i<n; i++) { // 1, n, n
for(int j =0; j<n; j++) { //1, n^2, n^2
if(arr[i] +arr[j]==sum) { //n^2
return true;
}
}
}
return false; //1 (because it fails to find the sum)
}
所以我拥有的是3n ^ 2 + 2n +4,即O(n ^ 2)
我认为我对BigO可能是正确的,但不确定我所做的方程式。
对吗?
谢谢!