public static double[] getStatistics(int[] count) { int n = count.length; int min = Integer.MAX_VALUE; int max = Integer.MIN_VALUE; int sum = 0; int mode = 0; int modeCount = 0; for (int i = 0; i < n; i++) { if (count[i] > 0) { min = Math.min(min, i); max = Math.max(max, i); sum += i * count[i]; if (count[i] > modeCount) { modeCount = count[i]; mode = i; } } } double mean = (double) sum / n; double median; if (n % 2 == 0) { int k1 = n / 2 - 1; int k2 = n / 2; int i1 = -1; int i2 = -1; for (int i = 0; i < n; i++) { k1 -= count[i]; k2 -= count[i]; if (k1 < 0 && i1 == -1) { i1 = i; } if (k2 < 0 && i2 == -1) { i2 = i; } if (i1 != -1 && i2 != -1) { break; } } median = (i1 + i2) / 2.0; } else { int k = n / 2; int i = -1; for (int j = 0; j < n; j++) { k -= count[j]; if (k < 0) { i = j; break; } } median = i; } return new double[]{min, max, mean, median, mode};

Java代码 实现我们对 0 到 255 之间的整数进行采样并将结果存储在数组 count 中:countk 就是整数 k 在样本中出现的次数。计算以下统计数据minimum :样本中的最小元素。maximum :样品中的最大元素。mean :样本的平均值计算为所有元素的总和除以元素总数。median :如果样本的元素个数是奇数那么一旦样本排序后中位数 median 就是中间的元素。如果样本中有偶

原文地址: https://www.cveoy.top/t/topic/ggOU 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录