我是靠谱客的博主 无奈超短裙,这篇文章主要介绍力扣每日一题-第29天-1491.去掉最低工资和最高工资后的平均工资,现在分享给大家,希望可以做个参考。

2022.6.27今天你刷题了吗?


题目:

给你一个整数数组 salary ,数组里每个数都是 唯一 的,其中 salary[i] 是第 i 个员工的工资。

请你返回去掉最低工资和最高工资以后,剩下员工工资的平均值。

分析:

给定一个数组,去掉最大和最小,剩下的数进行求平均并且返回这个平均值。

思路:先排序然后去掉下标0和下标【size()】的数,然后把剩下数通过for加起来

解析:

1.暴力求解

class Solution {
public:
    double average(vector<int>& salary) {
        sort(salary.begin(), salary.end());
        double sum=0.0;
        for (int i = 1; i < salary.size()-1; i++)
        {
            sum += salary[i];
        }
        return sum/(salary.size()-2);
    }
    
};

2.内置函数

通过max_element 

        min_element

        accumulate

三个函数分别取得最大,最小,和累加得到结果

class Solution {
public:
    double average(vector<int>& salary) {
        double maxValue = *max_element(salary.begin(), salary.end());
        double minValue = *min_element(salary.begin(), salary.end());
        double sum = accumulate(salary.begin(), salary.end(), - maxValue - minValue);
        return sum / int(salary.size() - 2);
    }
};

最后

以上就是无奈超短裙最近收集整理的关于力扣每日一题-第29天-1491.去掉最低工资和最高工资后的平均工资的全部内容,更多相关力扣每日一题-第29天-1491.去掉最低工资和最高工资后内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(156)

评论列表共有 0 条评论

立即
投稿
返回
顶部