五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

2186 使兩字符串互為字母異位詞的最少步驟數(shù)

2023-02-21 15:18 作者:目標(biāo)力扣Knight  | 我要投稿

2186 使兩字符串互為字母異位詞的最少步驟數(shù)

方法一:哈希 + 成員判斷【集合】

分別對(duì)兩個(gè)字符串做詞頻統(tǒng)計(jì),若字符在任意一個(gè)字符串出現(xiàn),則累加其詞頻,如果同時(shí)在兩個(gè)字符串中出現(xiàn),則累加其差值。

Python版本

C++版本


復(fù)雜度分析

  • 時(shí)間復(fù)雜度:O(N)。 性能開(kāi)銷(xiāo)主要集中在遍歷 s 串 和 t 串統(tǒng)計(jì)詞頻中,最壞情況為兩個(gè)串的長(zhǎng)度之和 2 * 2 * 10 ^ 5, 兩次遍歷詞頻數(shù)組,累計(jì)復(fù)雜度為52,總復(fù)雜度為O(N)。

  • 空間復(fù)雜度:O(C)。額外占用兩個(gè)哈希數(shù)組,英文小寫(xiě)字母26個(gè),合計(jì)52的復(fù)雜度。


方法二:字符數(shù)組 + 成員判斷

用字符數(shù)組,即下標(biāo)為字母的 ASCⅡ碼,值為詞頻統(tǒng)計(jì)兩個(gè)字符串,遍歷26個(gè)字母,分別統(tǒng)計(jì)只在一個(gè)字符串的詞頻,累加其詞頻,統(tǒng)計(jì)同時(shí)在兩個(gè)字符串的字母的詞頻,累加其差值;

Python版本

C++版本


復(fù)雜度分析

  • 時(shí)間復(fù)雜度:O(N)。 性能開(kāi)銷(xiāo)主要集中在遍歷 s 串 和 t 串統(tǒng)計(jì)詞頻中,最壞情況為兩個(gè)串的長(zhǎng)度之和 2 * 2 * 10 ^ 5, 一次遍歷詞頻數(shù)組,累計(jì)復(fù)雜度為26,總復(fù)雜度為O(N)。

  • 空間復(fù)雜度:O(C)。額外占用兩個(gè)哈希數(shù)組,英文小寫(xiě)字母26個(gè),合計(jì)52的復(fù)雜度。

備注

  1. 方法二的優(yōu)點(diǎn)在于快速判斷集合關(guān)系,不需要使用函數(shù)做成員判斷,且只需要一層形式上的for循環(huán)。

  2. 對(duì)于哈希數(shù)組,判斷一個(gè)哈希表的鍵是否在另一個(gè)哈希表的鍵的集合中,C++可以使用 main.find(other)==main.end()。


2186 使兩字符串互為字母異位詞的最少步驟數(shù)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
赣州市| 独山县| 滦南县| 广宁县| 云阳县| 南召县| 江都市| 大关县| 罗田县| 沭阳县| 临桂县| 莱芜市| 乌恰县| 望城县| 会泽县| 拉萨市| 普定县| 临颍县| 建宁县| 铜山县| 靖州| 西平县| 广河县| 云和县| 甘肃省| 宝坻区| 廉江市| 庄浪县| 喀喇沁旗| 嘉禾县| 临汾市| 静安区| 德安县| 明星| 东明县| 高雄县| 嘉鱼县| 曲靖市| 塘沽区| 铜陵市| 肇源县|