classSolution{publicdoubletrimMean(int[] arr){
Arrays.sort(arr);double sum =0;int len =(int)(arr.length *0.05);for(int i = len; i < arr.length - len; i++){
sum += arr[i];}return sum /(arr.length -2* len);}}
本地测试代码
package com.company;import java.util.Arrays;publicclassSolution_1619{publicstaticdoubletrimMean(int[] arr){
Arrays.sort(arr);double sum =0;int len =(int)(arr.length *0.05);for(int i = len; i < arr.length - len; i++){
sum += arr[i];}return sum /(arr.length -2* len);}publicstaticvoidmain(String[] args){
System.out.println(trimMean(newint[]{1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3}));
System.out.println(trimMean(newint[]{6,2,7,5,1,2,0,3,10,2,5,0,5,5,0,8,7,6,8,0}));
System.out.println(trimMean(newint[]{6,0,7,0,7,5,7,8,3,4,0,7,8,1,6,8,1,1,2,4,8,1,9,5,4,3,8,5,10,8,6,6,1,0,6,10,8,2,3,4}));}}
题目链接https://leetcode-cn.com/problems/mean-of-array-after-removing-some-elements/解题思路首先对数组排序然后取中间90%进行求平均值即可AC代码class Solution { public double trimMean(int[] arr) { Arrays.sort(arr); double sum = 0; int len = (int) (arr