给定一个数组,数组内每个元素大小不定且相加可能溢出,求数组平均数. 盈余法: 先假定一个数f (f应尽量接近要求的平均数). 用数组里每个元素减去f 所得数为m. sum += m; 若数组长度为n 则 avg = (nf +sum) / n; avg = f+ sum/n; 1234567891011121314 class { public static void main(int number[]){ Arrays.sort(number); int sum = 0; int m = 0; int f = number[number.length / 2]; for(int i : number){ m = i - f; sum += m; } int avg = f + sum/number.length; return avg; }} 赞微海报分享
近期评论