国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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ó)家法律
恩施市| 多伦县| 武鸣县| 阳新县| 陇南市| 台南县| 塔城市| 白银市| 青海省| 邻水| 确山县| 信宜市| 剑阁县| 友谊县| 获嘉县| 邮箱| 惠州市| 通化县| 贡嘎县| 阳城县| 交城县| 葵青区| 五常市| 龙川县| 河源市| 海丰县| 日照市| 玛纳斯县| 手游| 乾安县| 万州区| 泾川县| 图片| 内乡县| 海宁市| 荆门市| 水富县| 建昌县| 交口县| 青海省| 洪湖市|