求数组中的最大值
public static int findMax(int[] a, int n) {
//n表示n个元素,它们在数组a中
if (n = =1) {
return a[0];
} else {
int temp = findMax(a, n - 1);
return temp > a[n - 1] ? temp: a[n - 1];
}
}
int GetMaxInt(ListNode f) {
if (f.link = =NULL) return f.data;
else {
int i = GetMaxInt(f.link);
if (i > f.data) return i;
else return f.data;
}
}
求数组元素的平均值
float average( int a[],int n)
{ if(n = = 1)
return a[0];
else
return (average(a,n-1)*(n-1)+a[n-1])/n;
}
如果用链表:
float Average( ListNode f, int n )
{ if( f.link = = NULL ) return f.data;
else return ( Average ( f.link, n-1 ) * ( n-1 ) + f.data ) / n;
}
// 初始值 low=0, high=a.length
int max(int [] a, int low, int high) {
if(low==high)
return a[low];
else {
int x = max(a, low, (low+high)/2);
int y = max(a, (low+high)/2+1, high);
return x > y ? x : y;
}
}