zl程序教程

您现在的位置是:首页 >  其他

当前栏目

LeetCode·每日一题·1619.删除某些元素后的数组均值·排序·数学

LeetCode数组排序 删除 元素 每日 数学 某些
2023-09-27 14:26:29 时间

链接:https://leetcode.cn/problems/mean-of-array-after-removing-some-elements/solution/-by-xun-ge-v-60u8/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 

题目

 

示例

 

思路

解题思路
其实就是一个数学题,先对数组元素进行排序,方便后面操作

对于 5% 转换为分数就是 1/20 ,对于最后 5% 转换为分数就是 19/20

因此直接遍历数组统计 1/20 到 19/20 之间的数据即可,最后取平均数

代码

static inline int cmp(const void *pa, const void *pb) {//排序
    return *(int *)pa - *(int *)pb;
}

double trimMean(int* arr, int arrSize){
    qsort(arr, arrSize, sizeof(int), cmp);//排序
    double partialSum = 0;//统计累加和
    for (int i = arrSize / 20; i < (19 * arrSize / 20); i++) {
        partialSum += arr[i];
    }
    return partialSum / (arrSize * 0.9);//取平均值
}


作者:xun-ge-v
链接:https://leetcode.cn/problems/mean-of-array-after-removing-some-elements/solution/-by-xun-ge-v-60u8/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。