首页 > 编程语言 >今天回顾-回溯算法-131. 分割回文串

今天回顾-回溯算法-131. 分割回文串

时间:2024-02-06 16:11:07浏览次数:34  
标签:index res self start 131 回溯 path 回文

注意点&感悟:

  • 对这个范围还是没太梳理清楚,
  • 我的感觉是当前位置是start_index, 每轮的结束是i
  • 所以范围是[start_index,i+1]

题目链接:131. 分割回文串

自己独立写的代码:

class Solution:
    def partition(self, s: str) -> List[List[str]]:
        res = []
        self.backtracking(s,0,[],res)
        return res
        
    def backtracking(self,s,start_index,path,res):
        # 1.终止条件
        if start_index == len(s):   # 既可以是len(path)又可以是start_index
            res.append(path[:])
            return 
        # 2.核心代码
        for i in range(start_index,len(s)):
            # 3.多了一层判断是不是回文
            if s[start_index:i+1] == s[start_index:i+1][::-1]:  # 这里的范围容易出错
                path.append(s[start_index:i+1])
                self.backtracking(s,i+1,path,res)
                path.pop()
            else:
                continue

通过截图:

标签:index,res,self,start,131,回溯,path,回文
From: https://www.cnblogs.com/liqi175/p/18009888

相关文章

  • windows栈回溯功能示例——漏洞利用检测
    利用windows栈回溯如何进行漏洞利用检测?利用Windows栈回溯进行漏洞利用检测是一个复杂的过程,它通常涉及监控可疑或危险函数的调用,并分析调用这些函数的上下文来判断是否存在潜在的漏洞利用尝试。这种方法需要深入理解漏洞利用技术、危险函数的正常与异常使用模式,以及堆栈回溯的技......
  • 回溯法summary
    组合问题:从给定的一组元素中找出所有可能的组合,例如子集、组合总和等问题。排列问题:对一组元素进行排列,找出所有可能的排列方式,例如全排列问题。子集问题:找出给定集合的所有子集,包括空集和本身。棋盘类问题:如八皇后问题、数独问题,需要在一个棋盘上放置元素并满足一......
  • leetcode--5. 最长回文子串(dp)
    记录23:292024-2-5https://leetcode.cn/problems/longest-palindromic-substring/dp[i][j]s[i,j]之间能否构成回文子串[i,j]之间是否能够构成需要考虑[i+1,j-1]是否构成回文子串且s[i]==s[j]当j-1>=i+1时候说明正好是俩个相邻的字符,此时如果s[i]==s[j]就肯定可......
  • [MY-013183] [InnoDB] Assertion failure: dict0dict.cc:1869:table->get_ref_count()
    背景:执行altertableTABLE_NAMEdroppartitionPART_NAME;时执行过程中执行了ctrl+c导致mysql服务器崩溃自动重启。mysql错误日志内容:2024-02-02T10:30:32.424737+08:00460639464[ERROR][MY-013183][InnoDB]Assertionfailure:dict0dict.cc:1869:table->get_ref_count......
  • 验证回文串
    问题描述:给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例1:输入:"Aman,aplan,acanal:Panama"输出:true示例2:输入:"raceacar"输出:false//算法思路:对撞指针。只不过要......
  • 验证回文字符串
    问题描述:给定一个非空字符串s,最多删除一个字符。判断是否能成为回文字符串。示例1:输入:"aba"输出:True示例2:输入:"abca"输出:True解释:你可以删除c字符。注意:字符串只包含从a-z的小写字母。字符串的最大长度是50000。publicbooleanvalidPalindrome(St......
  • hdu 1312 Red and Black (BFS模板题)
    Problem-1312(hdu.edu.cn)BFS模板题#include<iostream>#include<queue>usingnamespacestd;typedeflonglongll;constintINF=0x3f3f3f3f;intwx,hy,num;charroom[25][25];#defineCHECK(x,y)(x>=0&&x<wx&&y>=0&&am......
  • Poj 3414 Pots (BFS+回溯+队列)
    这道题需要输出最后结果的执行过程,可以通过结构体,在结构体中定义一个数组s,s中存储了每一步的执行过程,实现了回溯。并且在运行中可以适当剪枝,减少枚举次数。 #include<iostream>#include<queue>#include<cstring>usingnamespacestd;constintN=110;intaa,bb,cc,vis[N......
  • Leetcode刷题第八天-回溯
    22:括号生成链接:22.括号生成-力扣(LeetCode)括号是一对,所以每一次递归结束条件是字符串长度=2*n有效括号判断:'('个数==')'个数时,当前必须是'(','('个数==n时,必须是')',其他情况当前位置遍历两边,既可以是'('又可以是')'1classSolution:2defgenerateParenth......
  • 今天回顾-回溯算法-组合40
    注意点&感悟:还是得复习!!多巩固巩固,我可以的!!!!!题目链接:40.组合总和II自己独立写的代码:classSolution:defcombinationSum2(self,candidates:List[int],target:int)->List[List[int]]:res=[]candidates.sort()used=[0]*len(candi......