Problem#
給你兩個字串 word1
, word2
你可以對它做以下兩個操作:
- 交換任意兩個字元 e.g.
abcde -> aecdb
- 選擇一組字元(不限長度、可以不用連續),可以互相交換字元 e.g.
aacabb -> bbcbaa
你可以做無限次操作,把 word1
和 word2
做完操作後會一樣回傳 true
反之回傳 false
。
測資限制#
- $1 \le n \le 10^5$
想法#
第一種操作可以讓字元到任意位置,第二種操作可以讓該字元頻率交換
所以判斷兩個字串一不一樣就變成了判斷兩個字串字元出現種類,和字元出現次數(不看種類)
按此規則判斷即可
AC Code#
- 時間複雜度: $\mathcal{O}(n\log{n})$
- 空間複雜度: $\mathcal{O}(n)$