題目:
你將得到乙個字串陣列 a。
如果經過任意次數的移動,s == t,那麼兩個字串 s 和 t 是特殊等價的。
一次移動包括選擇兩個索引 i 和 j,且 i % 2 == j % 2,交換 s[j] 和 s [i]。
現在規定,a 中的特殊等價字串組是 a 的非空子集 s,這樣不在 s 中的任何字串與 s 中的任何字串都不是特殊等價的。
返回 a 中特殊等價字串組的數量。
解法一:
思路:
27 ms,多次使用排序,時間複雜度高
**:
class
solution
else
} a=
sortstring
(a);
b=sortstring
(b);
set.
add(a+b);}
return set.
size()
;}public
static string sortstring
(string inputstring)
}
解法二:
思路(leetcode優解):
6 ms
**:
class solution ;
public int numspecialequivgroups(string a)
return set.size();
}private int hash(string s)else
flag = !flag;
}return (edd + 50000) * even;
}}
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 中的任何字串都不是...
LeetCode 893 特殊等價字串組
你將得到乙個字串陣列 a。如果經過任意次數的移動,s t,那麼兩個字串 s 和 t 是特殊等價的。一次移動包括選擇兩個索引 i 和 j,且 i 2 j 2,交換 s j 和 s i 現在規定,a 中的特殊等價字串組是 a 的非空子集 s,這樣不在 s 中的任何字串與 s 中的任何字串都不是特殊等價的...