你將得到乙個字串陣列 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 中的任何字串都不是特殊...