美文网首页
回文子串

回文子串

作者: windUtterance | 来源:发表于2020-10-12 10:13 被阅读0次

题目描述
给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。
具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。

示例
输入:"abc"
输出:3
解释:三个回文子串: "a", "b", "c"

Java代码

class Solution {
    public int countSubstrings(String s) {
        int n = s.length();
        boolean[][] dp = new boolean[n][n];
        int count = 0;
        for(int j = 0;j < n;j++) {
            for(int i = 0;i <= j;i++) {
                if(s.charAt(j) == s.charAt(i))
                    if(dp[i][j] = i==j || j - i == 1 ||dp[i + 1][j - 1])
                        count++;
            }
        }
        return count;
    }
}

相关文章

  • 最长回文子串

    判断是否是回文字符串 获取所有可能子串 获取所有回文子串 进阶

  • LeetCode 第647题:回文子串

    1、前言 2、思路 此题与最长回文子串很像,只不过那个是求最长的回文子串,而这个是求回文子串的数目。但是他们的解法...

  • 最长回文子串

    最长回文子串——Manacher 算法 1. 问题定义 最长回文字符串问题:给定一个字符串,求它的最长回文子串长度...

  • C语言实现求最长回文子串

    最长回文子串的概念 回文串是指正序和反序都一样的字符串,例如:Str1 = "AbbA",则Str1的最长回文子串...

  • 打卡-最长回文子串

    最长回文子串(中等)

  • 最长回文子序列

    该问题区别于最长回文子串,子串必须是连续的,而子序列则可以跳跃,例如AABCAA的最长回文子串为AA,但是它的最长...

  • 最长回文子串杀器-马拉车算法 2020-09-07(未允禁转)

    1.求解最长回文子串 在之前博客中提到解决回文串问题时,是利用了大回文串 = 小回文串向两头扩展的性质得到状态转移...

  • Manacher's Algorithm算法分析Java

    Manacher's Algorithm俗称马拉车算法,对于求字符串中最长回文子串效率极高。 在求最长回文子串的时...

  • 字符串---Manacher

    求最长回文子串 求一个串中的回文子串,首先将字符串处理成奇数个。如"abbc"处理成Ma = "$ a # b #...

  • 最长回文子串问题—Manacher算法

    最长回文串问题是一个经典的算法题。 0. 问题定义 最长回文子串问题:给定一个字符串,求它的最长回文子串长度。如果...

网友评论

      本文标题:回文子串

      本文链接:https://www.haomeiwen.com/subject/uqpgektx.html