LeetCode题解(0833):字符串中的查找与替换(Python)
发布日期:2021-06-29 19:58:13 浏览次数:2 分类:技术文章

本文共 773 字,大约阅读时间需要 2 分钟。

题目:(中等)

标签:字符串

解法 时间复杂度 空间复杂度 执行用时
Ans 1 (Python) O ( N l o g N ) O(NlogN) O(NlogN) : N为操作数 O ( N ) O(N) O(N): N为操作数 40ms (97.22%)
Ans 2 (Python)
Ans 3 (Python)

解法一:

class Solution:    def findReplaceString(self, S: str, indexes: List[int], sources: List[str], targets: List[str]) -> str:        new_indexes = sorted([(indexes[i], i) for i in range(len(indexes))], key=lambda k: k[0])        idx_change = 0  # 坐标变化        for i in range(len(new_indexes)):            index = new_indexes[i]            idx = index[0] + idx_change            n1 = len(sources[index[1]])            n2 = len(targets[index[1]])            if S[idx:idx + n1] == sources[index[1]]:                S = S[:idx] + targets[index[1]] + S[idx + n1:]                idx_change += n2 - n1        return S

转载地址:https://dataartist.blog.csdn.net/article/details/108078033 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:LeetCode题解(0842):将数组拆分成斐波那契数列(Python)
下一篇:LeetCode题解(0831):隐藏邮箱地址和电话号码个人信息(Python)

发表评论

最新留言

很好
[***.229.124.182]2024年04月12日 08时48分30秒