我寫了三種不同的Big-O複雜度的方法。有沒有辦法在我的方法中返回多個值而不影響複雜性?提前致謝!是否有可能在我的方法中返回多個項目?
public static double Nsquare(double[] ar){
double max=0, difference=0;
double maxelement=0, minelement=0 ;
for (int i=0; i<ar.length;++i){
for (int j=0; j<ar.length;++j){
difference=Math.abs(ar[i]-ar[j]);
if (difference>max){
max=difference;
maxelement=ar[i];
minelement=ar[j];
}
}
}
//return maxelement;
//return minelement;
return max;
}
// O(n*log(n))
public static double NlogN(double[] ar){
Arrays.sort(ar);
double max=ar[ar.length-1];
double min=ar[0];
double difference=max-min;
//return max;
//return min;
return difference;
}
// O(n)
public static double N(double[] ar){
double max = Double.NEGATIVE_INFINITY;
double min = Double.POSITIVE_INFINITY;
for(double x: ar){
if(min > x) {min =x;}
if(max < x) {max =x;}
}
//return max;
//return min;
return Math.abs(max-min);
}
使用地圖使用列表,因爲你可以方便地訪問使用地圖鍵的值。地圖 –