小黑略有空虚,去学校附近按摩晚上和师弟吃了潞河居二层小火锅下午准备继续改论文的leetcode之旅:131. 分割回文串

小黑代码

class Solution:
    def partition(self, s: str) -> List[List[str]]:
        # 字符串长度
        n = len(s)
        # 结果数组
        results = []
        # 递归函数
        def dfs(start = 0, res = []):
            if start == n:
                results.append(res[:])
            for i in range(start, n):
                if s[start:i+1] == s[start:i+1][::-1]:
                    # 添加回文
                    res.append(s[start:i+1])
                    # 深度优先
                    dfs(i+1, res)
                    # 回溯
                    res.pop()
        dfs()
        return results

小黑略有空虚,去学校附近按摩晚上和师弟吃了潞河居二层小火锅下午准备继续改论文的leetcode之旅:131. 分割回文串_第1张图片

动态规划预处理+回溯

class Solution:
    def partition(self, s: str) -> List[List[str]]:
        # 字符串长度
        n = len(s)
        # 构造动态规划数组
        dp = [[True] * n for _ in range(n)]
        # 开始动态规划
        for t in range(1, n):
            for i in range(n-t):
                dp[i][i+t] = dp[i+1][i+t-1] & (s[i] == s[i+t])
        # 结果数组
        results = []
        res = []
        # 递归函数
        def dfs(start = 0):
            # 递归出口
            if start == n:
                results.append(res[:])
                return
            for i in range(start, n):
                # [start,i]是回文
                if dp[start][i]:
                    # 添加子串
                    res.append(s[start:i+1])
                    # 深度搜索
                    dfs(i+1)
                    # 回溯
                    res.pop()
        dfs()
        return results

小黑略有空虚,去学校附近按摩晚上和师弟吃了潞河居二层小火锅下午准备继续改论文的leetcode之旅:131. 分割回文串_第2张图片

记忆化搜索+回溯

class Solution:
    def partition(self, s: str) -> List[List[str]]:
        # 字符串长度
        n = len(s)
        # 分治函数
        @cache
        def isPalindrome(i, j):
            # 递归出口
            if i >= j:
                return True
            return isPalindrome(i+1, j-1) and s[i] == s[j]
        # 结果数组
        results = []
        res = []
        # 回溯函数
        def dfs(start = 0):
            if start == n:
                results.append(res[:])
                return
            for i in range(start, n):
                # 回文判断
                if isPalindrome(start, i):
                    # 添加子串
                    res.append(s[start:i+1])
                    # 深度搜索
                    dfs(i + 1)
                    # 回溯
                    res.pop()
        dfs()
        return results

小黑略有空虚,去学校附近按摩晚上和师弟吃了潞河居二层小火锅下午准备继续改论文的leetcode之旅:131. 分割回文串_第3张图片

小黑生活

小黑开启了防晒第一步

小黑略有空虚,去学校附近按摩晚上和师弟吃了潞河居二层小火锅下午准备继续改论文的leetcode之旅:131. 分割回文串_第4张图片

中午清淡饮食

小黑略有空虚,去学校附近按摩晚上和师弟吃了潞河居二层小火锅下午准备继续改论文的leetcode之旅:131. 分割回文串_第5张图片

感谢女兵给我定制的推荐啦

小黑略有空虚,去学校附近按摩晚上和师弟吃了潞河居二层小火锅下午准备继续改论文的leetcode之旅:131. 分割回文串_第6张图片
小黑略有空虚,去学校附近按摩晚上和师弟吃了潞河居二层小火锅下午准备继续改论文的leetcode之旅:131. 分割回文串_第7张图片

突然不知道要干什么了,下午按个摩+足疗,看到了我家门口的胖师傅来到了学校边上的按摩店

小黑略有空虚,去学校附近按摩晚上和师弟吃了潞河居二层小火锅下午准备继续改论文的leetcode之旅:131. 分割回文串_第8张图片
小黑略有空虚,去学校附近按摩晚上和师弟吃了潞河居二层小火锅下午准备继续改论文的leetcode之旅:131. 分割回文串_第9张图片
小黑略有空虚,去学校附近按摩晚上和师弟吃了潞河居二层小火锅下午准备继续改论文的leetcode之旅:131. 分割回文串_第10张图片

跟实习老哥聊聊

小黑略有空虚,去学校附近按摩晚上和师弟吃了潞河居二层小火锅下午准备继续改论文的leetcode之旅:131. 分割回文串_第11张图片

晚上跟师弟吃食堂小火锅,人均63

小黑略有空虚,去学校附近按摩晚上和师弟吃了潞河居二层小火锅下午准备继续改论文的leetcode之旅:131. 分割回文串_第12张图片

从学校出来坐地铁到呼家楼,骑车去练琴

小黑略有空虚,去学校附近按摩晚上和师弟吃了潞河居二层小火锅下午准备继续改论文的leetcode之旅:131. 分割回文串_第13张图片
小黑略有空虚,去学校附近按摩晚上和师弟吃了潞河居二层小火锅下午准备继续改论文的leetcode之旅:131. 分割回文串_第14张图片
小黑略有空虚,去学校附近按摩晚上和师弟吃了潞河居二层小火锅下午准备继续改论文的leetcode之旅:131. 分割回文串_第15张图片

收到了社科院的笔试通知

小黑略有空虚,去学校附近按摩晚上和师弟吃了潞河居二层小火锅下午准备继续改论文的leetcode之旅:131. 分割回文串_第16张图片

身边朋友都有对象了,小黑感觉有点儿尬啊哈哈哈哈

小黑略有空虚,去学校附近按摩晚上和师弟吃了潞河居二层小火锅下午准备继续改论文的leetcode之旅:131. 分割回文串_第17张图片

早上睡了个懒觉,十点多才到学校

小黑略有空虚,去学校附近按摩晚上和师弟吃了潞河居二层小火锅下午准备继续改论文的leetcode之旅:131. 分割回文串_第18张图片
小黑略有空虚,去学校附近按摩晚上和师弟吃了潞河居二层小火锅下午准备继续改论文的leetcode之旅:131. 分割回文串_第19张图片
小黑略有空虚,去学校附近按摩晚上和师弟吃了潞河居二层小火锅下午准备继续改论文的leetcode之旅:131. 分割回文串_第20张图片

中午吃了学校网红的猪脚面

小黑略有空虚,去学校附近按摩晚上和师弟吃了潞河居二层小火锅下午准备继续改论文的leetcode之旅:131. 分割回文串_第21张图片

跟阿黄去喝了茶百道

小黑略有空虚,去学校附近按摩晚上和师弟吃了潞河居二层小火锅下午准备继续改论文的leetcode之旅:131. 分割回文串_第22张图片

晚上准备带师弟去朝阳公园小怪兽喜茶跑,放一张之前的照片

小黑略有空虚,去学校附近按摩晚上和师弟吃了潞河居二层小火锅下午准备继续改论文的leetcode之旅:131. 分割回文串_第23张图片

你可能感兴趣的:(小黑的日常leetcode之旅,leetcode,算法,深度优先)