LeetCode題解:1160. 拼寫單詞烂瘫,哈希表媒熊,JavaScript,詳細(xì)注釋

原題鏈接

1160. 拼寫單詞

解題思路

  1. 用Map緩存chars中所有字母的數(shù)量
  2. 遍歷單詞的所有字母
    • 如果Map中存在當(dāng)前字母坟比,就將Map緩存的字母數(shù)量減一
    • 如果Map中不存在當(dāng)前字母芦鳍,或者字母數(shù)量為0,表示chars中的字母無法拼寫單詞葛账,退出循環(huán)
    • 如果能完成該單詞所有字母的遍歷,表示chars中的字母可以拼寫單詞籍琳,可以統(tǒng)計(jì)該單詞的長(zhǎng)度
/**
 * @param {string[]} words
 * @param {string} chars
 * @return {number}
 */
var countCharacters = function(words, chars) {
  // 緩存結(jié)果
  let sum = 0
  // 緩存chars中所有字母的數(shù)量
  const charMap = new Map()

  // 統(tǒng)計(jì)chars中所有字母的數(shù)量
  for (const char of chars) {
    charMap.set(char, (charMap.get(char) ?? 0) + 1)
  }

  // 為外部循環(huán)設(shè)置標(biāo)簽菲宴,便于直接退出
  outer:
  for (const word of words) {
    // 創(chuàng)建一個(gè)新Map,用于統(tǒng)計(jì)chars的字母使用情況
    const map = new Map(charMap)

    // 遍歷word中的所有字母
    for (const char of word) {
      // 如果char在map中不存在趋急,表示chars無法拼寫該單詞,退出outer循環(huán)
      if (!map.get(char)) {
        continue outer
      }

      // 當(dāng)前字母被使用呜达,數(shù)量減一
      map.set(char, map.get(char) - 1)
    }

    // 如果字母都被使用,表示chars可以拼寫出單詞,則將單詞長(zhǎng)度計(jì)入sum
    sum += word.length
  }

  // sum為words中所有可被chars拼寫出的單詞長(zhǎng)度
  return sum
};
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市侥祭,隨后出現(xiàn)的幾起案子茄厘,更是在濱河造成了極大的恐慌矮冬,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,376評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異窑滞,居然都是意外死亡琼牧,警方通過查閱死者的電腦和手機(jī)恢筝,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來巨坊,“玉大人撬槽,你說我怎么就攤上這事≈耗欤” “怎么了侄柔?”我有些...
    開封第一講書人閱讀 156,966評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)占调。 經(jīng)常有香客問我暂题,道長(zhǎng),這世上最難降的妖魔是什么妈候? 我笑而不...
    開封第一講書人閱讀 56,432評(píng)論 1 283
  • 正文 為了忘掉前任敢靡,我火速辦了婚禮,結(jié)果婚禮上苦银,老公的妹妹穿的比我還像新娘啸胧。我一直安慰自己,他們只是感情好幔虏,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,519評(píng)論 6 385
  • 文/花漫 我一把揭開白布纺念。 她就那樣靜靜地躺著,像睡著了一般想括。 火紅的嫁衣襯著肌膚如雪陷谱。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,792評(píng)論 1 290
  • 那天瑟蜈,我揣著相機(jī)與錄音烟逊,去河邊找鬼。 笑死铺根,一個(gè)胖子當(dāng)著我的面吹牛宪躯,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播位迂,決...
    沈念sama閱讀 38,933評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼访雪,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了掂林?” 一聲冷哼從身側(cè)響起臣缀,我...
    開封第一講書人閱讀 37,701評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎泻帮,沒想到半個(gè)月后精置,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,143評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡锣杂,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,488評(píng)論 2 327
  • 正文 我和宋清朗相戀三年氯窍,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了饲常。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,626評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡狼讨,死狀恐怖贝淤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情政供,我是刑警寧澤播聪,帶...
    沈念sama閱讀 34,292評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站布隔,受9級(jí)特大地震影響离陶,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜衅檀,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,896評(píng)論 3 313
  • 文/蒙蒙 一招刨、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧哀军,春花似錦沉眶、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至猿推,卻和暖如春片习,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蹬叭。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來泰國(guó)打工藕咏, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人秽五。 一個(gè)月前我還...
    沈念sama閱讀 46,324評(píng)論 2 360
  • 正文 我出身青樓孽查,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親筝蚕。 傳聞我的和親對(duì)象是個(gè)殘疾皇子卦碾,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,494評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容