给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。

具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被计为是不同的子串。

示例 1:

输入: “abc”
输出: 3
解释: 三个回文子串: “a”, “b”, “c”.

解题思路

数组含义:dp[i][j]代表字符串s[i…j]是否回文
状态转移:当s[i]==s[j]时,如果当前字符串长度是1或者2,则满足回文条件,或者处于i和j之间的字符串是回文字符串,同样满足条件

代码

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

leetcode647. 回文子串(动态规划)相关推荐

  1. 【字符串】最长回文子串 ( 动态规划算法 ) ★

    文章目录 一.回文串.子串.子序列 二.最长回文子串 1.动态规划算法 2.动态规划算法代码示例 一.回文串.子串.子序列 " 回文串 ( Palindrome ) " 是 正反都 ...

  2. java最长回文子序列_LeetCode[5] - 最长回文子串动态规划

    题目 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为1000. 示例 1: 输入: "babad" 输出: "bab" 注意: & ...

  3. 最长回文子串动态规划_九章算法 | 微软面试题:最长回文子串

    给出一个字符串(假设长度最长为1000),求出它的最长回文子串,你可以假定只有一个满足条件的最长回文串. 在线评测地址:LintCode 领扣 样例 1: 输入:"abcdzdcab&quo ...

  4. [Leetcode][第647题][JAVA][回文子串][动态规划][中心扩展][Manacher 算法]

    [问题描述][中等] [解答思路] 1. 暴力 首先明确如何判断一个字符串是否为回文字符串.第一个字符与最后一个字符相同,第二个字符与倒数第二个字符相同-关于中心位置轴对称. 本题要求一共有多少个回文 ...

  5. leetcode647 回文子串

    给定一个字符串,你的任务是计算这个字符串中有多少个回文子串. 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被计为是不同的子串. 示例 1: 输入: "abc" 输 ...

  6. 最长回文子串--动态规划

    问题来源:最长回文子串 问题描述:给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 例子: 输入: "babad" 输出: "ba ...

  7. C++算法:最大回文子串---动态规划-----夹逼法----中心扩展法

    leetcode相关C++算法解答: https://github.com/Nereus-Minos/C_plus_plus-leetcode 题目: 给定一个字符串 s,找到 s 中最长的回文子串. ...

  8. 最长回文子串——动态规划

    动态规划思路 首先确定状态转移方程:数组S用来存储输入的字符串, 令dp[ i ] [ j ] 表示 S[ i ] 至 S[ j ] 所表示的子串是否是回文子串,是则为1,不是为0.这样根据S[ i ...

  9. 122. Leetcode 647. 回文子串 (动态规划-子序列问题)

    步骤一.确定状态: 确定dp数组及下标含义 dp[i][j] 表示的是区间范围[i,j] 的子串是否是回文子串 步骤二.推断状态方程: 在确定递推公式时,就要分析如下几种情况. 整体上是两种,就是s[ ...

最新文章

  1. 【树莓派】树莓派SD卡系统镜像系统备份方法
  2. python log文件如何不写入syslog_Centos下python 对syslog重写进行日志记录
  3. exit函数_Linux进程间通信详解(三) 消息队列及函数
  4. CSRF手工测试方法
  5. Leetcode 242. 有效的字母异位
  6. 【apache】phpstudy中apache 隐藏入口文件index.php (解决no input file specified错误)
  7. “婚礼邀请函”小程序开发过程
  8. 射极跟随器实验报告数据处理_射极跟随器实验报告 -
  9. OTSU算法实现二值化
  10. R语言中的ggmap包
  11. 牛客网 - [牛客假日团队赛6]对牛排序
  12. OA系统--用户登录
  13. 如何在Eclipse 中将隐藏的包给显示出来
  14. 基于MMRotate训练自定义数据集 做旋转目标检测 2022-3-30
  15. 直播带货后:提升售后服务、复盘直播数据
  16. python 爬取贝壳的一些思路和方法设计(用地址找到小区名字)
  17. 一个研三女人想告诉后辈的事!
  18. asp另存为文件名-名称-类型
  19. Java对Json的一系列操作(构建、json与对象的转换)
  20. 巨头博弈工业互联网的“大航海时代”

热门文章

  1. java开发工具软件排行榜
  2. 提高SQL执行性能方案:如何让你的SQL运行得更快zt
  3. VirtualBox 虚拟机复制
  4. Android商城开发系列(二)——App启动欢迎页面制作
  5. 广度优先搜索(BFS)
  6. 前端页面内含外显相关知识
  7. redis系列:分布式锁
  8. java温故笔记(二)java的数组HashMap、ConcurrentHashMap、ArrayList、LinkedList
  9. 作业1---四则运算
  10. Java Web的web.xml文件作用及基本配置(转)