<
ARTS 第十四周
>
上一篇

ARTS 第十三周
下一篇

ARTS 第十五周
Toc
ARTS Week-14

Algorithm

131. 分割回文串

给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。

返回 s 所有可能的分割方案。

示例:

输入: "aab"
输出:
[
  ["aa","b"],
  ["a","a","b"]
]

解决这种「组合」类型的题目,我就会想到用回溯算法来解,由于题目非常简单,这里就直接放出解答,代码如下:

class Solution:
    ans = None
    length = None
    s = None
    def partition(self, s: str) -> List[List[str]]:
        self.ans = []

        if not s:
            return self.ans

        self.s = s
        self.length = len(s)

        self._partition()
        return self.ans

    def _partition(self, start=0, res=None):
        if res is None:
            res = []

        if res is None:
            res = []

        if start >= self.length:
            self.ans.append(res)
            return

        for end in range(start + 1, self.length + 1):
            sub = self.s[start: end]
            if sub == sub[::-1]:
                self._partition(end, res + [sub])

Review

《This computer changed the world—and you’ve never heard about it》

这台电脑改变了世界,你可能从来没听说过它。

在 20 世纪 60 年代早期,即使是「小型」计算机也有冰箱那么大,但设计出的「阿波罗」计算机需要只有公文包的大小。

它只有 73 KB 的内存,并且只占一立方英尺的空间。在阿波罗 2504 小时的太空飞行中,没有一个记录在案的软件错误或硬件故障。它不仅仅是那个时代最小、最快、最灵活的计算机,也是最可靠的。

Tip

一个非常好用的 docker-compose 可视化的终端工具 - lazydocker

gif

Share

分享一个 Daily Python Tip 的推特账号(需要梯子),这个账号每天会分享关于 Python 的小技巧,例如:

img

Top
Foot