425 周賽第2題 3365. 重排子字串以形成目標字串

xiaoxinlong發表於2024-11-30

給你兩個字串 st(它們互為字母異位詞),以及一個整數 k

你的任務是判斷是否可以將字串 s 分割成 k 個等長的子字串,然後重新排列這些子字串,並以任意順序連線它們,使得最終得到的新字串與給定的字串 t 相匹配。

如果可以做到,返回 true;否則,返回 false

字母異位詞 是指由另一個單詞或短語的所有字母重新排列形成的單詞或短語,使用所有原始字母恰好一次。

子字串 是字串中的一個連續 非空 字元序列。

class Solution:
    def isPossibleToRearrange(self, s: str, t: str, k: int) -> bool:
        n = len(s)
        length = n // k  # 長度
        cnt_s = Counter(s[i: i + length] for i in range(0, n, length))
        cnt_t = Counter(t[i: i + length] for i in range(0, n, length))
        return cnt_s == cnt_t

相關文章