思路:仔細審題,關鍵是字母異位詞,這就說明所有字串的長度一樣,且含有的字母都相同,那麼就可以比較簡單的判斷兩個字串是否是相似的,直接遍歷第乙個字串,統計同一位置但字元不相等的位置總數,若其等於0或2則相似,時間複雜度為o(s
trle
n)o(strlen)
o(strl
en)。那麼暴力比較字串並用並查集維護相似的組即可,總複雜度大概為o(n
2str
len)
o(n^2strlen)
o(n2st
rlen
)。
class
solution
intfather
(int x)
void
uni(vector
& strs,
int x,
int y)
}bool
isanagram
(string& s1,string &s2)
intnumsimilargroups
(vector
& strs)
};
leetcode 839 相似字串組(並查集)
如果交換字串 x 中的兩個不同位置的字母,使得它和字串 y 相等,那麼稱 x 和 y 兩個字串相似。如果這兩個字串本身是相等的,那它們也是相似的。例如,tars 和 rats 是相似的 交換 0 與 2 的位置 rats 和 arts 也是相似的,但是 star 不與 tars rats 或 art...
839 相似字串組
839.相似字串組 如果交換字串x中的兩個不同位置的字母,使得它和字串y相等,那麼稱x和y兩個字串相似。如果這兩個字串本身是相等的,那它們也是相似的。例如,tars 和 rats 是相似的 交換0與2的位置 rats 和 arts 也是相似的,但是 star 不與 tars rats 或 arts ...
839 相似字串組
難度困難93 如果交換字串x中的兩個不同位置的字母,使得它和字串y相等,那麼稱x和y兩個字串相似。如果這兩個字串本身是相等的,那它們也是相似的。例如,tars 和 rats 是相似的 交換0與2的位置 rats 和 arts 也是相似的,但是 star 不與 tars rats 或 arts 相似。...