亲宝软件园·资讯

展开

JS题解leetcode去掉最低工资和最高工资后的工资平均值

外语狂魔陈清泉 人气:0

题目 

leetcode.cn/

示例

示例 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

提示

代码

function average(salary: number[]): number {
    let sortSalary = salary.sort((a, b) => { return a - b; });
    let sum = 0;
    for(let i = 1; i < sortSalary.length - 1; i++){
        sum += sortSalary[i];
    }
    return sum / (sortSalary.length - 2);
};
function average(salary: number[]): number {
    let max = Math.max(...salary);
    let min = Math.min(...salary);
    salary.splice(salary.indexOf(max), 1);
    salary.splice(salary.indexOf(min), 1);
    let sum = salary.reduce((next, pre) => {
        return next + pre
    }, 0)
    return sum / salary.length
};

优化版:

加载全部内容

相关教程
猜你喜欢
用户评论