題目分析(這道題的題目真的難以理解?):
如果經過任意次數的移動,s == t,那麼兩個字串s
和t
是特殊等價的。i.e. 找所有字串,所含字母一樣的字串。一次移動包括選擇兩個索引i
和j
,且i%2 == j%2
,並且交換s[j]
和s [i]
。i.e. 找其中奇數字一樣的字串(或者偶數字)。
class solution(object):
def numspecialequivgroups(self, a):
""":type a: list[str]
:rtype: int
"""b = set()
for string in a:
# print(string)
c = list(string)
a = c[::2] # abc->ac
# print(a)
# print(''.join((sorted(a))))
b = c[1::2]
# print(b) # abc->b
# b.add((''.join(sorted(a)), ''.join(sorted(b)))) # 多加了元組
# b.add((''.join(sorted(a)))) #
# print(b)
return len(b)
python set add()方法
"""
fruits.add("orange")
"""
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 中的任何字串都不是...
LeetCode 893 特殊等價字串組
你將得到乙個字串陣列 a。如果經過任意次數的移動,s t,那麼兩個字串 s 和 t 是特殊等價的。一次移動包括選擇兩個索引 i 和 j,且 i 2 j 2,交換 s j 和 s i 現在規定,a 中的特殊等價字串組是 a 的非空子集 s,這樣不在 s 中的任何字串與 s 中的任何字串都不是特殊等價的...