我是靠谱客的博主 无奈超短裙,最近开发中收集的这篇文章主要介绍力扣每日一题-第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.去掉最低工资和最高工资后的平均工资所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部