最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ó)家法律
盐津县| 兰西县| 忻州市| 巴中市| 化州市| 十堰市| 东辽县| 安义县| 荆门市| 珲春市| 娱乐| 凌云县| 宁都县| 抚顺市| 芒康县| 辽中县| 增城市| 景谷| 襄樊市| 孟连| 治多县| 泰州市| 灌阳县| 香港 | 措勤县| 蕉岭县| 鹤庆县| 大兴区| 鄂托克前旗| 凤山县| 柞水县| 景泰县| 新巴尔虎左旗| 济宁市| 明水县| 河池市| 社会| 五指山市| 兰考县| 文安县| 富源县|