亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

js題解LeetCode1051 高度檢查器哈希表對比

 更新時間:2022年12月29日 09:09:34   作者:羊肉串  
這篇文章主要為大家介紹了JS題解LeetCode1051 高度檢查器哈希表對比,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

解題思路

方法一,實際上我們并不需要給heights進行排序,我們需要的只是從前往后遍歷heights,找到在當前位置上是不是應該出現(xiàn)的最小的數字,因此

我們創(chuàng)建一個數組,存儲所有出現(xiàn)的數字的次數,由于題目已經限制 heights 長度最大為 100,直接創(chuàng)建 100 長度的數組通過下標保存計數器即可,如果不定長度或者長度較大就得通過 map 處理然后對 map 排序了

遍歷heights,在數組中存儲所有數字出現(xiàn)的次數,同時找到最小值作為數組判斷的起點
再遍歷一遍 heights,判斷當前遍歷項是否跟目標下標一致,如果不一致結果+1,一致就不用管了,然后把計數器-1,直到 0

如果當前下標的值為 0 了,就證明heights中出現(xiàn)的該下邊的數字次數已經用光了,直接迭代找到下一個不為 0 的下標繼續(xù)即可

方法二,比較簡單,直接對heights排序,然后逐位對比即可

代碼

/**
 * @param {number[]} heights
 * @return {number}
 */
var heightChecker = function (heights) {
  const arr = new Array(100).fill(0)
  let t = 0
  let idx = 101
  heights.forEach(item => {
    arr[item]++
    if (item < idx) idx = item
  })
  heights.forEach(item => {
    if (item !== idx) {
      t++
    }
    arr[idx]--
    while (arr[idx] === 0) {
      idx++
    }
  })
  return t
};
???????var heightChecker = function (heights) {
  const h = JSON.parse(JSON.stringify(heights))
  const arr = heights.sort((a, b) => a - b)
  let t = 0
  for (let i = 0; i < arr.length; i++) {
    if (arr[i] !== h[i]) t++
  }
  return t
};

以上就是js題解LeetCode1051 高度檢查器哈希表對比的詳細內容,更多關于js高度檢查器哈希表對比的資料請關注腳本之家其它相關文章!

相關文章

  • UMD的包導出TS 類型方法示例

    UMD的包導出TS 類型方法示例

    這篇文章主要為大家介紹了UMD的包導出TS 類型方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • 一文解析Express框架view對象使用

    一文解析Express框架view對象使用

    這篇文章主要介紹了Express框架view對象使用解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • 本地搭建微信小程序服務器的實現(xiàn)方法

    本地搭建微信小程序服務器的實現(xiàn)方法

    這篇文章主要介紹了本地搭建微信小程序服務器的實現(xiàn)方法的相關資料,希望通過本文能幫助到大家,讓大家輕松的搭建自己的微信小程序的服務器,需要的朋友可以參考下
    2017-10-10
  • umi插件開發(fā)仿dumi項目實現(xiàn)基礎路由解析

    umi插件開發(fā)仿dumi項目實現(xiàn)基礎路由解析

    這篇文章主要為大家介紹了umi插件開發(fā)仿dumi項目實現(xiàn)基礎路由解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • 微信小程序實現(xiàn)頁面跳轉傳值的方法

    微信小程序實現(xiàn)頁面跳轉傳值的方法

    這篇文章主要介紹了微信小程序實現(xiàn)頁面跳轉傳值的方法的相關資料,希望通過本文能幫助到大家,讓大家實現(xiàn)這樣的功能,需要的朋友可以參考下
    2017-10-10
  • THREE.js添加多個castShadow光源報錯解決及原因分析

    THREE.js添加多個castShadow光源報錯解決及原因分析

    這篇文章主要介紹了THREE.js添加多個castShadow的光源報錯解決及原因分析
    2023-06-06
  • CheckBox 如何實現(xiàn)全選?

    CheckBox 如何實現(xiàn)全選?

    CheckBox 如何實現(xiàn)全選?...
    2006-06-06
  • JavaScript高級之自定義異常

    JavaScript高級之自定義異常

    在JavaScript中所有的異常都是Error對象,遇到異常就會拋出一個Error對象,這個對象中包含錯誤的描述信息,通過JavaScript提供的異常處理語句,我們可以用結構化的方式來捕捉發(fā)生的錯誤,讓異常處理代碼與核心業(yè)務代碼實現(xiàn)分離,需要的朋友可以參考一下
    2021-12-12
  • 自行實現(xiàn)Promise.allSettled的Polyfill處理

    自行實現(xiàn)Promise.allSettled的Polyfill處理

    這篇文章主要為大家介紹了自行實現(xiàn)Promise.allSettled?的?Polyfill處理示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • 瀏覽器切換到其他標簽頁或最小化js定時器是否準時測試

    瀏覽器切換到其他標簽頁或最小化js定時器是否準時測試

    這篇文章主要為大家介紹了瀏覽器切換到其他標簽頁或最小化是js定時器是否準時的測試詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07

最新評論