国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

云購網(wǎng)站開發(fā)百度建站云南服務(wù)中心

云購網(wǎng)站開發(fā),百度建站云南服務(wù)中心,鄭州富士康最新招聘信息,jsp php動(dòng)態(tài)網(wǎng)站開發(fā)242.有效的字母異位詞 數(shù)組、set、map,數(shù)組是比較高效查找的 函數(shù)功能 判斷字符串 s 和 t 是否互為字母異位詞。如果它們包含相同的字符且每個(gè)字符出現(xiàn)的次數(shù)也相同,那么它們互為字母異位詞。 代碼邏輯 長度檢查: if (s.length ! t.lengt…

242.有效的字母異位詞

數(shù)組、set、map,數(shù)組是比較高效查找的

函數(shù)功能

判斷字符串 st 是否互為字母異位詞。如果它們包含相同的字符且每個(gè)字符出現(xiàn)的次數(shù)也相同,那么它們互為字母異位詞。

代碼邏輯

  1. 長度檢查

    if (s.length !== t.length) return false;

    如果 s t 的長度不相等,它們不可能是字母異位詞,直接返回 false。

  2. 初始化計(jì)數(shù)器數(shù)組

    const resSet = new Array(26).fill(0); 
    const base = "a".charCodeAt();
    • resSet 是一個(gè)長度為 26 的數(shù)組,用于存儲每個(gè)小寫字母的出現(xiàn)次數(shù)(假設(shè) st 只包含小寫字母)。
    • base 存儲了字母 'a' 的 ASCII 碼值,用于將字母轉(zhuǎn)換為數(shù)組索引。
  3. 統(tǒng)計(jì) s 中字符出現(xiàn)次數(shù)

    for (const i of s) { resSet[i.charCodeAt() - base]++; }

    遍歷字符串 s使用 charCodeAt() 函數(shù)獲取每個(gè)字符的 ASCII 碼值,然后根據(jù) base 計(jì)算出索引,增加 resSet 中相應(yīng)位置的計(jì)數(shù)。

  4. 驗(yàn)證 t 中的字符

    for (const i of t) 
    { if (!resSet[i.charCodeAt() - base]) return false; 
    resSet[i.charCodeAt() - base]--; }
    • 遍歷字符串 t,對于每個(gè)字符,檢查 resSet 中對應(yīng)位置的計(jì)數(shù)。如果計(jì)數(shù)為 0,則表示 t 中有一個(gè)在 s 中不存在的字符,或者字符出現(xiàn)次數(shù)不匹配,返回 false。
    • 減少 resSet 中相應(yīng)位置的計(jì)數(shù)。
  5. 返回結(jié)果

    return true;

    果代碼執(zhí)行到這里,說明 st 是字母異位詞,返回 true。

總結(jié)

這個(gè)函數(shù)通過計(jì)數(shù)每個(gè)字符的出現(xiàn)次數(shù),來判斷兩個(gè)字符串是否互為字母異位詞。由于只用了一個(gè)固定長度的數(shù)組,它在處理只包含小寫字母的字符串時(shí)非常高效。

49字母異位詞

示例 1: 輸入 ["eat", "tea", "tan", "ate", "nat", "bat"]

  1. 初始化哈希表

    • 創(chuàng)建一個(gè)空的 Map 對象 map。
  2. 遍歷字符串?dāng)?shù)組

    • 對于每個(gè)字符串 str 在數(shù)組 ["eat", "tea", "tan", "ate", "nat", "bat"] 中,執(zhí)行以下步驟:

      • "eat"

        • 分解、排序并重新組合:"eat" -> ["e", "a", "t"] -> ["a", "e", "t"] -> "aet"
        • map.has("aet") 返回 false(因?yàn)?"aet" 還不在 map 中),所以執(zhí)行 map.set("aet", []) 并添加 "eat" 到 "aet" 鍵對應(yīng)的數(shù)組中。
      • "tea"

        • 同樣地,"tea" 排序后變?yōu)?"aet"。
        • map.has("aet") 返回 true(因?yàn)?"aet" 已存在),所以直接將 "tea" 添加到 "aet" 鍵對應(yīng)的數(shù)組中。
      • "tan"

        • "tan" 排序后變?yōu)?"ant"。
        • map.has("ant") 返回 false,所以執(zhí)行 map.set("ant", []) 并添加 "tan" 到 "ant" 鍵對應(yīng)的數(shù)組中。
      • "ate"

        • "ate" 排序后也是 "aet"
        • 再次將 "ate" 添加到 "aet" 鍵對應(yīng)的數(shù)組中。
      • "nat"

        • "nat" 排序后變?yōu)?"ant"。
        • 將 "nat" 添加到 "ant" 鍵對應(yīng)的數(shù)組中。
      • "bat"

        • "bat" 排序后變?yōu)?"abt"。
        • map.has("abt") 返回 false,所以執(zhí)行 map.set("abt", []) 并添加 "bat" 到 "abt" 鍵對應(yīng)的數(shù)組中。
  3. 提取并返回結(jié)果

    • 使用 Array.from(map.values())map 中的所有值(即分組后的字符串?dāng)?shù)組)轉(zhuǎn)換為一個(gè)數(shù)組。
    • 返回的數(shù)組是:[["eat", "tea", "ate"], ["tan", "nat"], ["bat"]]。

結(jié)果解釋

函數(shù) groupAnagrams 將每個(gè)字符串按字母排序后,使用排序結(jié)果作為鍵來分組所有字母異位詞。最終返回的數(shù)組包含了分組好的字母異位詞數(shù)組,每個(gè)子數(shù)組包含所有字符集相同的原始字符串。在這個(gè)例子中,"eat"、"tea" 和 "ate" 互為字母異位詞,因此它們被分組在一起,同理可得其他分組。

438.找到字符串中所有字母異位詞?

  1. 初始化兩個(gè)計(jì)數(shù)器數(shù)組pCountsCount 分別用于存儲 p 和窗口內(nèi)字符串的字符計(jì)數(shù)。

  2. 遍歷 p:對 p 中的每個(gè)字符進(jìn)行計(jì)數(shù)。

  3. 滑動(dòng)窗口:遍歷字符串 s,同時(shí)更新 sCount 數(shù)組來計(jì)算窗口內(nèi)各字符的出現(xiàn)次數(shù)。

  4. 窗口大小與 p 相等時(shí):比較 sCountpCount。如果兩者完全一致,將左指針的位置加入結(jié)果數(shù)組。

  5. 移動(dòng)窗口:右指針每向右移動(dòng)一次,左指針也相應(yīng)地向右移動(dòng)一次,以保持窗口大小不變。

這種方法通過在 s 上滑動(dòng)一個(gè)固定大小的窗口并比較字符出現(xiàn)次數(shù),有效地找出了所有 p 的異位詞的起始索引。

?

http://aloenet.com.cn/news/44458.html

相關(guān)文章:

  • 有關(guān)做生態(tài)環(huán)境的官方網(wǎng)站小程序推廣引流
  • 網(wǎng)站用哪種語言簡述提升關(guān)鍵詞排名的方法
  • 班級網(wǎng)站模板銷售找客戶的app
  • wordpress模板網(wǎng)站優(yōu)化大師免費(fèi)安裝下載
  • 網(wǎng)站建設(shè)費(fèi)做什么科目如何免費(fèi)發(fā)布廣告
  • 建設(shè)銀行信用卡網(wǎng)站登錄seo優(yōu)化方向
  • 企業(yè)頭像logo設(shè)計(jì)免費(fèi)seo免費(fèi)入門教程
  • wordpress文章采集插件信陽搜索引擎優(yōu)化
  • 做中英文網(wǎng)站的合肥網(wǎng)站seo整站優(yōu)化
  • 做外貿(mào)英文網(wǎng)站網(wǎng)站推廣seo優(yōu)化
  • 24小時(shí)二手表網(wǎng)站小紅書搜索關(guān)鍵詞排名
  • 小型網(wǎng)絡(luò)公司是干嘛的深圳谷歌seo推廣
  • 網(wǎng)站開發(fā)需要的編程軟件杭州百度快速排名提升
  • dw網(wǎng)站制作效果怎么做html網(wǎng)頁制作模板
  • 企業(yè)網(wǎng)站色彩搭配手機(jī)怎么制作網(wǎng)站
  • 公司建站多少錢電腦優(yōu)化用什么軟件好
  • 自己做的網(wǎng)站如何在百度搜到自助建站官網(wǎng)
  • 移動(dòng)網(wǎng)站開發(fā)教程下載重慶seo報(bào)價(jià)
  • 怎么打開自己做的網(wǎng)站視頻剪輯培訓(xùn)
  • 網(wǎng)站 做實(shí)名認(rèn)證嗎域名注冊阿里云
  • 如何做cad圖紙模板下載網(wǎng)站軟文代寫多少錢一篇
  • 成都網(wǎng)站建設(shè)優(yōu)惠活動(dòng)免費(fèi)站長統(tǒng)計(jì)工具
  • 網(wǎng)站手機(jī)版后臺網(wǎng)絡(luò)營銷和網(wǎng)絡(luò)推廣
  • 關(guān)于加強(qiáng)門戶網(wǎng)站建設(shè)ip域名解析查詢
  • 新手做網(wǎng)站的注意事項(xiàng)百度推廣公司怎么代理到的
  • 免費(fèi)網(wǎng)站安全軟件大全蘋果版鄭州優(yōu)化網(wǎng)站關(guān)鍵詞
  • 用ps做網(wǎng)站網(wǎng)頁石家莊seo按天扣費(fèi)
  • 生鮮電商網(wǎng)站建設(shè)百度指數(shù)查詢官方網(wǎng)
  • 網(wǎng)站做超鏈接薪資多少一個(gè)月如何創(chuàng)建網(wǎng)站
  • 做外銷網(wǎng)站關(guān)鍵詞密度