首页 > 其他分享 >647. Palindromic Substrings刷题笔记

647. Palindromic Substrings刷题笔记

时间:2023-05-26 22:01:19浏览次数:43  
标签:Palindromic int res range Substrings 647 countSubstrings dp 刷题


用动态规划可以做,应该可以优化为只有两个表,而且不用每次res都加

class Solution:
    def countSubstrings(self, s: str) -> int:
        n = len(s)
        dp = [[0]*n for _ in range(n)]
        res = 0
        
        for i in range(n-1, -1, -1):
            for j in range(i,n):
                dp[i][j] = s[i]==s[j] and ((j-i)<2 or dp[i+1][j-1])
                res += dp[i][j]
        return res

647. Palindromic Substrings刷题笔记_leetcode


标签:Palindromic,int,res,range,Substrings,647,countSubstrings,dp,刷题
From: https://blog.51cto.com/u_16131692/6359385

相关文章

  • 29. Divide Two Integers刷题笔记
    参考的题解classSolution:defdivide(self,dividend:int,divisor:int)->int:positive=(dividend<0)is(divisor<0)dividend,divisor=abs(dividend),abs(divisor)res=0whiledividend>=divisor:......
  • 304. Range Sum Query 2D - Immutable刷题笔记
    暴力做超时了,参考题解但是它只考虑了一种情况,事实上可以继续扩充的classNumMatrix:def__init__(self,matrix:List[List[int]]):m,n=len(matrix),len(matrix[0])self.sum=[[0]*(n+1)for_inrange(m+1)]#sum[i][j]issumofallel......
  • 23-05-26 刷题-【中缀表达式求值的模板】
    basiccalculator系列题目:(可以作为模板题,记住)224.基本计算器-力扣(LeetCode)[hard]想法:中缀表达式求值。数据结构中栈的应用中缀转后缀。后缀能去掉括号。a+(b+c)*d==》abc+d*+后缀表达式求值:abc+d*+要考虑表达式的优先级,怎么处理括号。括号的优先级,不知......
  • misc刷题
    lsb隐写引用一段百度内容LSB隐写就是修改RGB颜色分量的最低二进制位也就是最低有效位(LSB),而人类的眼睛不会注意到这前后的变化,每个像数可以携带3比特的信息。能够使用lsb隐写的图片格式只能是png或bmp,jpg无法实现lsb隐写一般这种隐写可以使用stegsovle破解TTL图片......
  • 刷题笔记:Luogu P3956 棋盘
    ProblemSolutionDFS/BFS需要注意去重的时候可以重复走(因为有限定条件),只要新的步数比原来的步数小就可以走,其余情况模拟即可细节有点多,比如需要记录一下上一步的棋盘颜色(下一次搜索传递参数),因为牵扯到使用魔法问题,不能直接染,因为改变地图后后边很多操作都会受影响在列举可能性......
  • 23-05-23 刷题
    练习刷题思路722.删除注释-力扣(LeetCode)【Mid】思路:不难,但是细节比较多。要理清楚有点麻烦。【题目不好】classSolution{publicList<String>removeComments(String[]source){List<String>ans=newArrayList<>();booleaninBlock=fals......
  • 力扣 647. 回文子串
    647.回文子串给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。回文字符串 是正着读和倒过来读一样的字符串。子字符串 是字符串中的由连续字符组成的一个序列。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。示......
  • 算法刷题记录:NC22227 约瑟夫环
    题目链接https://ac.nowcoder.com/acm/problem/22227解题思路模拟环。这道题顺序数就行,顺序是逆时针,逆时针的箭头是往左拐的,变成直线后趋于正半轴所以是+。不过,这道模拟环并没有说从idx号开始,往左/右数几个人,所以不需要考虑+或-。因为不会越界,所以也不用额外%n。AC代码......
  • 23-05-20 刷题
    练习英文描述算法88.MergeSortedArray-LeetCode【easy】classSolution{publicvoidmerge(int[]nums1,intm,int[]nums2,intn){//twopointers,initiallyi,jpointstothelastnumberofthearray(m-1,n-1)//usektorecordth......
  • 刷题笔记:Luogu P3743
    题目传送门Solution最多能将这些设备一起使用多久,显然答案满足单调性(如果\(x<y\)而不能使用\(x\)时间则一定不能使用\(y\)时间)通俗一点,就是前边的时间不满足则后边一定不满足,也就是局部答案舍弃性,考虑二分时间至于check怎么写呢?和奶牛晒衣服有异曲同工之妙,若设二分出来的时间......