893 特殊等價字串組

2021-10-17 05:09:37 字數 993 閱讀 7338

你將得到乙個字串陣列 a。每次移動都可以交換 s 的任意兩個偶數下標的字元或任意兩個奇數下標的字元。如果經過任意次數的移動,s == t,那麼兩個字串 s 和 t 是 特殊等價 的。例如,s = 「zzxy」 和 t = 「xyzz」 是一對特殊等價字串,因為可以先交換s[0] 和 s[2],然後交換 s[1] 和 s[3],使得 「zzxy」 -> 「xzzy」 -> 「xyzz」 。現在規定,a 的一組特殊等價字串 就是 a 的乙個同時滿足下述條件的非空子集:

該組中的每一對字串都是 特殊等價 的該組字串已經涵蓋了該類別中的所有特殊等價字串,容量達到理論上的最大值(也就是說,如果乙個字串不在該組中,那麼這個字串就 不會與該組內任何字串特殊等價) 返回 a 中特殊等價字串組的數量。

示例 1:

輸入:[

"abcd","cdab","cbad","xyzz","zzxy","zzyx"

]輸出:3

解釋:其中一組為 [

"abcd", "cdab", "cbad"

],因為它們是成對的特殊等價字串,且沒有其他字串與這些字串特殊等價。

另外兩組分別是 [

"xyzz", "zzxy"

] 和 [

"zzyx"

]。特別需要注意的是,"zzxy" 不與 "zzyx" 特殊等價。

示例 2:

輸入:[

"abc","acb","bac","bca","cab","cba"

]輸出:3

解釋:3 組 [

"abc","cba"

],["acb","bca"

],["bac","cab"

]

class solution 

return seen.size();

}}

893 特殊等價字串組

你將得到乙個字串陣列a。如果經過任意次數的移動,s t,那麼兩個字串s和t是特殊等價的。一次移動包括選擇兩個索引i和j,且i 2 j 2,並且交換s j 和s i 現在規定,a中的特殊等價字串組是a的非空子集s,這樣不在s中的任何字串與s中的任何字串都不是特殊等價的。返回a中特殊等價字串組的數量。示...

leetcode 893 特殊等價字串組

題目分析 這道題的題目真的難以理解?如果經過任意次數的移動,s t,那麼兩個字串s和t是特殊等價的。i.e.找所有字串,所含字母一樣的字串。一次移動包括選擇兩個索引i和j,且i 2 j 2,並且交換s j 和s i i.e.找其中奇數字一樣的字串 或者偶數字 class solution objec...

leetcode 893 特殊等價字串組

題目 你將得到乙個字串陣列 a。如果經過任意次數的移動,s t,那麼兩個字串 s 和 t 是特殊等價的。一次移動包括選擇兩個索引 i 和 j,且 i 2 j 2,交換 s j 和 s i 現在規定,a 中的特殊等價字串組是 a 的非空子集 s,這樣不在 s 中的任何字串與 s 中的任何字串都不是特殊...