首页 > 其他分享 >回文串

回文串

时间:2022-11-24 09:44:44浏览次数:27  
标签:idx self isPail len range path 回文

分割回文串

https://leetcode.cn/problems/palindrome-partitioning/

class Solution:
    def dfs(self, s, idx, path):
        """ idx:当前处理到的第idx个字符 """
        if idx == len(s):
            self.res.append(path)
            return
        
        for i in range(idx, len(s)):
            if self.isPail[idx][i]:
                self.dfs(s, i+1, path +[s[idx:i+1]])


    def partition(self, s: str) -> List[List[str]]:
        if len(s) < 2: return [[s]]
        n = len(s)
        self.isPail = [[False]*n for _ in range(n)]
        self.isPail[0][0] = True
        for j in range(1, n):
            for i in range(j+1):
                if s[i] == s[j] and (j-1 - (i+1) + 1 < 2 or self.isPail[i+1][j-1] == True):
                    self.isPail[i][j] = True
        self.res = []
        path = []
        self.dfs(s, 0, path)
        return self.res

 

标签:idx,self,isPail,len,range,path,回文
From: https://www.cnblogs.com/zijidan/p/16920847.html

相关文章

  • vue 项目中,后端返回文件流,导出excel
    之前写过文件流导出excel,这次直接把上次的代码拿过来复制粘贴,但是导出的表格里面没有数据,只显示undefined。这是之前的代码//api接口页面//excel导出接口export......
  • leetcode680-验证回文串 II。方法有缺陷,还需要继续琢磨
    680.验证回文串II这个做法就是利用双指针。一个指向第一个字符,一个指向最后一个字符。遇到两个指针指向的字符相同时,一个往前走,一个往后走。如果遇到不相同,那么就看看......
  • 【XSY3320】【LOJ6681】yww 与树上的回文串(border理论,点分治)
    咕了一年的题。先点分治。考虑某条经过当前重心\(rt\)的合法回文路径:(图摘自yww的题解)其中\(x\toy\)是合法回文路径,那么\(T\)是一个回文串。先把\(rt\)到每......
  • 回文自动机
    回文自动机有些很优秀的性质。广义回文自动机你现在要对多个串建回文自动机,一个一个直接插进回文自动机里是对的。(也就是广义后缀自动机假掉的那种建法)例:LuoguP5555......
  • 最长回文串 香槟塔
    409.最长回文串Map<Character,Integer>map=newHashMap<>();char[]str=s.toCharArray();for(inti=0;i<s.length();i++){map.put(str[i],map.getOrDef......
  • 反转字符串中的单词 同构字符串 验证回文串
    151.反转字符串中的单词s=s.trim();先清除前后空格String[]sb=s.split("");StringBuilderans=newStringBuilder();for(inti=sb.length-1;i>0;i--)......
  • 回文串
        这道题目我直接在程序上注释了:1#include<bits/stdc++.h>2usingnamespacestd;3intmain()4{5intt123123123123123123,a,b;6cin>......
  • 循环练习-判断回文数
    Scanners=newScanner(System.in);//引用键盘录入功能System.out.println("本程序用于判断回文数,请输入您要判断的值:");intx=s.nextInt();//将键盘输入的......
  • 线性DP-2472. 不重叠回文子字符串的最大数目
    问题描述给你一个字符串s和一个正整数k。从字符串s中选出一组满足下述条件且不重叠的子字符串:每个子字符串的长度至少为k。每个子字符串是一个回文串......
  • 回文树
    回文树(EERTree,PalindromicTree)亦称回文自动机,用于存储一个串中的所有回文子串。由于回文串可能有奇有偶,于是分为两棵树进行构建,偶跟编号为0,长度为0,fail指向奇根,奇根编......