leetcode 893 特殊等價字串組

2021-09-24 03:06:04 字數 998 閱讀 4351

題目:

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