最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS題解leetcode去掉最低工資和最高工資后的工資平均值

 更新時間:2022年12月22日 15:14:03   作者:外語狂魔陳清泉  
這篇文章主要為大家介紹了JS題解leetcode去掉最低工資和最高工資后的工資平均值,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

題目 

leetcode.cn/

  • 給你一個整數(shù)數(shù)組 salary ,數(shù)組里每個數(shù)都是 唯一 的,其中 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 以內的結果都將視為正確答案。

代碼

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);
};
  • 首先將原數(shù)組排序,這樣排序后的新數(shù)組會將最大值和最小值放在數(shù)組的第一位和最后一位
  • 遍歷新數(shù)組,因為要排除最大值和最小值,所以范圍從數(shù)組的第二位到倒數(shù)第二位,將每一項的值進行累加
  • 將累加和除以總共累計的項數(shù)返回(總項數(shù)是數(shù)組的長度,排除首尾兩項,累加項數(shù)為總長度減去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
};

優(yōu)化版:

  • 先利用Math.maxMath.min將數(shù)組的最大值和最小值找到
  • 然后利用數(shù)組方法splice將最大值和最小值從原數(shù)組中刪除(splice方法改變原數(shù)組的長度
  • 最后使用數(shù)組的reduce方法將數(shù)組求和
  • 最后將刪除最大值和最小值的數(shù)組和除以數(shù)組長度,得到平均值返回
  • 時間消耗和上面差不太多,內存消耗比上面少一些

以上就是JS題解leetcode去掉最低工資和最高工資后的工資平均值的詳細內容,更多關于JS題解leetcode工資平均值的資料請關注腳本之家其它相關文章!

相關文章

  • js中遞歸函數(shù)的使用介紹

    js中遞歸函數(shù)的使用介紹

    所謂的遞歸函數(shù)就是在函數(shù)體內調用本函數(shù)。使用遞歸函數(shù)一定要注意,處理不當就會進入死循環(huán)。遞歸函數(shù)只有在特定的情況下使用 ,比如階乘問題
    2012-10-10
  • 微信小程序簡潔登錄頁面的實現(xiàn)(附源碼)

    微信小程序簡潔登錄頁面的實現(xiàn)(附源碼)

    本文主要介紹了微信小程序簡潔登錄頁面的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • 利用d3.js實現(xiàn)蜂巢圖表帶動畫效果

    利用d3.js實現(xiàn)蜂巢圖表帶動畫效果

    這篇文章主要給大家介紹了關于如何利用d3.js實現(xiàn)蜂巢圖表帶動畫效果的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用d3.js具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-09-09
  • electron多標簽頁模式更像客戶端的實現(xiàn)示例

    electron多標簽頁模式更像客戶端的實現(xiàn)示例

    本文主要介紹了electron多標簽頁模式更像客戶端,通過創(chuàng)建和管理多個網頁視圖或使用現(xiàn)成組件來實現(xiàn)類似Web瀏覽器的標簽頁功能,具有一定的參考價值,感興趣的可以了解一下
    2024-11-11
  • JavaScript用20行代碼實現(xiàn)虎年春節(jié)倒計時

    JavaScript用20行代碼實現(xiàn)虎年春節(jié)倒計時

    春節(jié)將至,相信大家跟小編一樣很激動呀。為了迎接虎年春節(jié)到來,小編為大家準備了一個虎年春節(jié)倒計時,僅20行代碼用js就實現(xiàn)啦。感興趣的可以動手試一試
    2022-01-01
  • javascript實現(xiàn)的textarea運行框效果代碼 不用指定id批量指定

    javascript實現(xiàn)的textarea運行框效果代碼 不用指定id批量指定

    今天在寫一個網頁的時候用到了N多嵌套在textarea標簽里的代碼,定義雙擊運行其內的代碼段。但是每次創(chuàng)建一個這樣的可運行的實例都要給textarea元素自定義一個id值和寫入雙擊事件,好不麻煩。
    2009-12-12
  • JavaScript DOM 添加事件

    JavaScript DOM 添加事件

    這是我在給庫中添加事件的時候寫的添加事件的方法!這個方法實現(xiàn)了跨瀏覽器之間的方法!
    2009-02-02
  • NestJs 靜態(tài)目錄配置詳解

    NestJs 靜態(tài)目錄配置詳解

    這篇文章主要介紹了NestJs 靜態(tài)目錄配置,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • Javascript作用域和作用域鏈原理解析

    Javascript作用域和作用域鏈原理解析

    這篇文章主要介紹了Javascript作用域和作用域鏈原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-03-03
  • JavaScript lodash常見用法系列小結

    JavaScript lodash常見用法系列小結

    本篇文章主要介紹了JavaScript lodash用法小結,非常不錯,具有參考借鑒價值,對于Javascript lodash教程感興趣的同學可以參考一下
    2016-08-08

最新評論

鹤壁市| 台前县| 醴陵市| 顺义区| 南阳市| 鸡泽县| 库伦旗| 沁水县| 澄江县| 叶城县| 正安县| 隆回县| 开平市| 云和县| 涿鹿县| 十堰市| 阿克苏市| 镇赉县| 德令哈市| 金湖县| 砚山县| 宜城市| 芮城县| 会同县| 若羌县| 茶陵县| 嘉黎县| 扎赉特旗| 远安县| 禹州市| 紫金县| 喀喇沁旗| 大丰市| 霍邱县| 布拖县| 奈曼旗| 馆陶县| 高阳县| 北辰区| 都兰县| 策勒县|