Java 求最大乘积的算法-分析
我有一段代码,它是用一个数组中的3个数字计算你能找到的最大乘积:Java 求最大乘积的算法-分析,java,algorithm,time-complexity,big-o,Java,Algorithm,Time Complexity,Big O,我有一段代码,它是用一个数组中的3个数字计算你能找到的最大乘积: public static int findMaxProduct(int[] arr) { int i=0, j=1, f=2; int largest = arr[i]*arr[j]*arr[f]; for(;i<arr.length;) { if(largest<arr[i]*arr[j]*arr[f]) l
public static int findMaxProduct(int[] arr) {
int i=0, j=1, f=2;
int largest = arr[i]*arr[j]*arr[f];
for(;i<arr.length;) {
if(largest<arr[i]*arr[j]*arr[f])
largest = arr[i]*arr[j]*arr[f];
if(i==arr.length-3)
return largest;
if(f==arr.length-1 && j == arr.length - 2) {
i++;
j=i+1;
}
if( f==arr.length-1 && j != arr.length-2)
f = j+1;
if(f<arr.length-1)
f++;
if(f==arr.length -1 && j < arr.length -2)
j++;
}
return 0;
}
公共静态int-findMaxProduct(int[]arr){
int i=0,j=1,f=2;
int最大=arr[i]*arr[j]*arr[f];
对于(;i你测试了所有的三胞胎。其中大约有n^3
。因此复杂性是O(n^3)