题目

给你一个整数数组 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 以内的结果都将视为正确答案。
来源:力扣(LeetCode)

解题思路

  非常简单的一道题。

class Solution:def average(self, salary: List[int]) -> float:return (sum(salary)-max(salary)-min(salary))/(len(salary)-2)


  以上虽然时间复杂度是O(n)但可能已经扫描的好几遍数组。可以一次扫描数组完成。

class Solution:def average(self, salary: List[int]) -> float:if salary[0]>salary[1]:MIN=salary[1]MAX=salary[0]else:MIN=salary[0]MAX=salary[1]s=MIN+MAXl=0for i in salary[2:]:if i>MAX:MAX=ielif i<MIN:MIN=il+=1s+=ireturn (s-MIN-MAX)/l

LeetCode简单题之去掉最低工资和最高工资后的工资平均值相关推荐

  1. LeetCode简单题之最后一块石头的重量

    题目 有一堆石头,每块石头的重量都是正整数. 每一回合,从中选出两块 最重的 石头,然后将它们一起粉碎.假设石头的重量分别为 x 和 y,且 x <= y.那么粉碎的可能结果如下: 如果 x = ...

  2. LeetCode简单题之基于排列构建数组

    题目 给你一个 从 0 开始的排列 nums(下标也从 0 开始).请你构建一个 同样长度 的数组 ans ,其中,对于每个 i(0 <= i < nums.length),都满足 ans ...

  3. LeetCode简单题之Excel 表中某个范围内的单元格

    题目 Excel 表中的一个单元格 (r, c) 会以字符串 "" 的形式进行表示,其中: 即单元格的列号 c .用英文字母表中的 字母 标识. 例如,第 1 列用 'A' 表示, ...

  4. LeetCode简单题之增量元素之间的最大差值

    题目 给你一个下标从 0 开始的整数数组 nums ,该数组的大小为 n ,请你计算 nums[j] - nums[i] 能求得的 最大差值 ,其中 0 <= i < j < n 且 ...

  5. LeetCode简单题之二进制矩阵中的特殊位置

    题目 给你一个大小为 rows x cols 的矩阵 mat,其中 mat[i][j] 是 0 或 1,请返回 矩阵 mat 中特殊位置的数目 . 特殊位置 定义:如果 mat[i][j] == 1 ...

  6. LeetCode简单题之设计 Goal 解析器

    题目 请你设计一个可以解释字符串 command 的 Goal 解析器 .command 由 "G"."()" 和/或 "(al)" 按某种 ...

  7. LeetCode简单题之检查两个字符串数组是否相等

    题目 给你两个字符串数组 word1 和 word2 .如果两个数组表示的字符串相同,返回 true :否则,返回 false . 数组表示的字符串 是由数组中的所有元素 按顺序 连接形成的字符串. ...

  8. LeetCode简单题之学生分数的最小差值

    题目 给你一个 下标从 0 开始 的整数数组 nums ,其中 nums[i] 表示第 i 名学生的分数.另给你一个整数 k . 从数组中选出任意 k 名学生的分数,使这 k 个分数间 最高分 和 最 ...

  9. LeetCode简单题之找出数组的最大公约数

    题目 给你一个整数数组 nums ,返回数组中最大数和最小数的 最大公约数 . 两个数的 最大公约数 是能够被两个数整除的最大正整数. 示例 1: 输入:nums = [2,5,6,9,10] 输出: ...

最新文章

  1. 五、springcloud之客户端负载均衡Ribbon
  2. 施工日志管理软件app_康智颐app下载-康智颐客户端下载v1.4.9 安卓官方版
  3. 杭电1010java实现dfs
  4. linux中死锁的概念,【Linux】死锁概念总结
  5. C语言数组越界导致无限循环
  6. CentOS 7虚拟机支持virsh console访问
  7. POJ 3862 POJ 3528 HDU 3662 HDU 4273 三维凸包问题解决模板
  8. Django OAuth2 linkedin的第三方登录
  9. 查找100-200以内素数
  10. C++方法名称还原命令c++filt
  11. 物流app开发需要多少钱
  12. 5.图像,音视频标签
  13. 本科计算机 在职研究生想读英语,想读在职研究生但是英语成绩不好怎么办?...
  14. 腾讯 X5 不能加载内核
  15. 计算机专业在线杂志,计算机类的cscd期刊汇总
  16. 【R语言】ggplot2---散点图的边框和颜色填充问题
  17. Nginx Lua 之Shared Dict get()方法在存入字符串超长的情况下不支持高并发
  18. JSP连接数据库实现查询功能
  19. S5PV210启动过程详解
  20. 判断密码是否包含键盘连续字符【灭霸级】

热门文章

  1. docker一步安装mysql,docker的魅力就在于此
  2. IDEA的Docker插件实战(Dockerfile篇)
  3. oracle自动备份
  4. JDBC简单操作步骤总结
  5. Pass Infrastructure基础架构(上)
  6. TensorRT PoolingLayer
  7. 用NVIDIA-NGC对BERT进行训练和微调
  8. CUDA 8混合精度编程
  9. 2021年大数据Flink(三十五):​​​​​​​Table与SQL ​​​​​​案例二
  10. Python:Resquest模块