1491.去掉最低工资和最高工资后的工资平均值

2024-03-13 05:20

本文主要是介绍1491.去掉最低工资和最高工资后的工资平均值,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

刷算法题:

第一遍:1.看5分钟,没思路看题解

2.通过题解改进自己的解法,并且要写每行的注释以及自己的思路。

3.思考自己做到了题解的哪一步,下次怎么才能做对(总结方法)

4.整理到自己的自媒体平台。

5.再刷重复的类似的题目,根据时间和任务安排刷哪几个板块

6.用c++语言 都刷过一遍了 就刷中等

一.题目

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

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

示例 1:

输入:salary = [4000,3000,1000,2000]
输出:2500.00000
解释:最低工资和最高工资分别是 1000 和 4000 。
去掉最低工资和最高工资以后的平均工资是 (2000+3000)/2= 2500

示例 2:

输入:salary = [1000,2000,3000]
输出:2000.00000
解释:最低工资和最高工资分别是 1000 和 3000 。
去掉最低工资和最高工资以后的平均工资是 (2000)/1= 2000

示例 3:

输入:salary = [6000,5000,4000,3000,2000,1000]
输出:3500.00000

示例 4:

输入:salary = [8000,9000,2000,3000,6000,1000]
输出:4750.00000

提示:

  • 3 <= salary.length <= 100
  • 10^3 <= salary[i] <= 10^6
  • salary[i] 是唯一的。
  • 与真实值误差在 10^-5 以内的结果都将视为正确答案。

二、反思

1.自己的解法

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

2.题目的解法 

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);}
};作者:力扣官方题解
链接:https://leetcode.cn/problems/average-salary-excluding-the-minimum-and-maximum-salary/solutions/327125/qu-diao-zui-di-gong-zi-he-zui-gao-gong-zi-hou-de-4/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 3.思路的异同

感觉没什么不一样的,这个题解就是“论api的应用”

三.进步的地方

没啥进步的地方,就是在熟悉了一下怎么找vector的最大值吧,*max_element和*min_element的函数使用。 

这篇关于1491.去掉最低工资和最高工资后的工资平均值的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/803754

相关文章

致远个性化之--发起流程页面,去掉【查看流程】按钮

需求 近期在做的项目中,遇到一个需求,想把发起流程页面中的【查看流程】按钮去掉,只让员工预测流程,知道自己的事项流程走向,不让看全局流程图。包含PC端和移动端,以及微协同端。 如下图效果示例: 实现 此需求,只能通过修改页面代码实现。在此不分析实现过程,现把具体实现方式呈现如下,各位如有需求可参照设置。适用版本V9.0,其他版本未进行测试,估计不会有大的差别! PC端 找到文件

强调重点元素、弱化辅助元素、去掉无关元素,工控HMI还能好不了

HMI设计,尤其工控领域的HMI设计,千万不要走极端,把界面搞得花哨,或者所谓的美观,切记实现功能才是第一位的。 在人机界面(HMI)设计中,强调重点元素、弱化辅助元素、去掉无关元素是非常重要的,可以提高用户体验和界面的可用性。 1. 强调重点元素: 通过颜色、大小、对比度等方式来突出显示重要的元素,例如使用醒目的颜色、加粗的字体或者特殊的图标来吸引用户的注意力。 2. 弱化辅助元

5-7千元性价比最高的家用4K投影:大眼橙X30Ultra和当贝X5SPro对比

临近开学又有不少投影品牌上了新品,大眼橙这家国产投影品牌也在9月初上新了两款不同价位的投影,一款是三千多的X7DUltra,一款是五千多的X30Ultra。正好有朋友最近向我咨询购买投影仪的事情,他预算六千左右,问有没有值得买的4K投影仪,挑了一款六千价位卖的最火爆的当贝X5SPro和这款新品大眼橙X30Ultra对比看看,哪款配置更高,谁更值得买。 选择当贝X5SPro这款产品

mysql查询所有记录,并去掉重复的记录

distinct(str)函数是用来去掉重复记录的,但是它只是针对某一个字段可以去重复。例如:select distinct(name)from tablename; 但是如果想把其他字段值的记录也查询出来, 我一开始想的是使用select distinct(name) ,ta.* from tablename.注意distinct必须放在前面!但是这样并没有去掉重复的记录,后来想到了group

MFC单文档去掉默认的菜单、工具栏和状态栏

 1,去掉工具栏和状态栏, 在  int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)   中注销掉相关的工具栏和状态栏语句,即可。 2,去掉菜单, 在 BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) 中,增加语句 cs.hMenu = NULL;//即 菜单句柄赋

Android13 Hotseat客制化--Hotseat修改布局、支持滑动、去掉开机弹动效果、禁止创建文件夹

需求如题,实现效果如下 : 固定Hotseat的padding位置、固定高度 step1 在FeatureFlags.java中添加flag,以兼容原生态代码 public static final boolean STATIC_HOTSEAT_PADDING = true;//hotseat area fixed step2:在dimens.xml中添加padding值和高度值

vs2022 如何去掉 错误|警告的波形曲线 绿色波浪线

如图: 去不去都一样,只是看着不舒服,相当不爽 工具→选项→文本编辑器→显示错误波形曲线,把前的√去掉,按确定 清爽多了,虽然没啥卵用 。。。

Android 10.0 第三方app设置默认Launcher快速进去桌面去掉android正在启动提示功能

1.前言 在10.0的系统rom定制化开发中,在有多个app的时候当设置为默认Launcher的时候,在进入系统中,在播放完开机动画的时候,这时候在系统未解锁的时候, 这时候会由于在7.0后的fallbackhome机制的原因,导致会弹出Settings中的android 正在启动弹窗,接下来看下如何快速启动第三方app,而不弹出 android 正在启动弹窗第一时间直接进入默认的Launche

Win 11补丁让AMD成亲儿子,性能最高提升35%

前段时间 AMD 与微软闹出的大瓜大伙儿都恰到了吧?没吃过也没关系,咱们可点击跳转往期内容回味: AMD 官方诉苦,CPU 性能被 Windows 限制 13%! 事情是这么个情况,AMD 不是在上个月先后正式上架了 Zen 5 锐龙 9000 系桌面 CPU 嘛。 来源:AMD 随后有外媒对那几颗 CPU 游戏性能进行了实测,他们发现似乎不管怎么折腾都无法到达官方 PPT 介绍的

深圳市光明区高新企业资助申报来了!最高10万元

光明区高新技术企业认定资助给予最高10万元资助,符合条件的光明区企业,速速申报啦!深科信整理申报条件及材料,请查看。 资助标准 (一)支持标准:对新增的国家高新技术企业给予最高10万元资助。 (二)支持方式及数量:事后资助,属核准类项目。资助金额受年度财政预算安排总量控制。 申报条件 (一)申报单位具有独立法人资格,依法依规办理市场主体登记注册手续和税务登记手续,在光明区从事经营活动