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

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

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

解題思路

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

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

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

如果當(dāng)前下標(biāo)的值為 0 了,就證明heights中出現(xiàn)的該下邊的數(shù)字次數(shù)已經(jīng)用光了,直接迭代找到下一個不為 0 的下標(biāo)繼續(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 高度檢查器哈希表對比的詳細(xì)內(nèi)容,更多關(guān)于js高度檢查器哈希表對比的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論

清原| 陇南市| 平原县| 远安县| 天津市| 黄冈市| 巴楚县| 江西省| 上思县| 雅江县| 新巴尔虎右旗| 峨眉山市| 马尔康县| 洛隆县| 涞源县| 元谋县| 繁峙县| 葫芦岛市| 根河市| 天峻县| 股票| 鹤庆县| 诸暨市| 日喀则市| 湘西| 曲麻莱县| 康定县| 西华县| 巴林左旗| 尉犁县| 郴州市| 陵川县| 墨竹工卡县| 凯里市| 四会市| 杭锦后旗| 美姑县| 绍兴市| 昌都县| 沭阳县| 沾益县|