确定状态:

最长的子串,减去两边的字符也一定是palindrome

dp[i][j] 代表以i开始,以j结束的字符串是不是palindrome

状态转移方程:

dp[i][j]=s.charAt(i)==s.charAt(j)&&(j-i+1<3||dp[i+1][j-1]);

这种存在性的转移方程有点难写 笔者就直接写程序的表达了

初始条件和边界条件

没有,也不需要

计算顺序

dp[n-1][n-1]

dp[n-2][n-2]  dp[n-2][n-1]

.......

dp[0][0]   dp[0][1] .... dp[0][n-1]

代码

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

动态规划实战4-leetcode 5.Longest Palindromic Substring相关推荐

  1. 【回文串1 动态规划 马拉车算法】LeetCode 5. Longest Palindromic Substring

    LeetCode 5. Longest Palindromic Substring LeetCode中与回文串相关的免费的题目共有15道(5, 9, 125, 131, 132, 214, 234, ...

  2. LeetCode 5. Longest Palindromic Substring 最长回文子串 Python 四种解法(Manacher 动态规划)

    Longest Palindromic Substring 最长回文子串 学习笔记 1. Brute method 第一种方法:直接循环求解,o(n2)o(n^2) class Solution:de ...

  3. [LeetCode]--5. Longest Palindromic Substring

    Given a string S, find the longest palindromic substring in S. You may assume that the maximum lengt ...

  4. [*leetcode 5] Longest Palindromic Substring

    Given a string S, find the longest palindromic substring in S. You may assume that the maximum lengt ...

  5. leetcode 5 :Longest Palindromic Substring 找出最长回文子串

    题目: Given a string S, find the longest palindromic substring in S. You may assume that the maximum l ...

  6. leetcode 5 Longest Palindromic Substring Java JavaScript解法

    题目详情 Given a string s, find the longest palindromic substring in s. You may assume that the maximum ...

  7. [LeetCode] 5. Longest Palindromic Substring

    这道题可以用动态规划,但是其实中心枚举更直接并符合逻辑,需要注意的是,以每一个字母为中心查找最大的Palindromic string的时候是有两种情况,第一种是以这个单一字母为中心(aba),第二个 ...

  8. LeetCode 5.Longest Palindromic Substring 求解

    经典的动态规划问题 动态规划 定义: 是一种在数学.管理科学.计算机科学.经济学和生物信息学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法.        动态规划常常适用于有重 ...

  9. leetcode 5. Longest Palindromic Substring 字符串中的最长回文数 逐步从O(n^2)优化至线性时间

    题目 解析 思路一 暴力解法 思路二 指针+最大长度 思路3 由中间至两边找回数 思路4 Manacher's algorithm 线性时间 参考文档 题目 链接 给定一个字符串 s,找到 s 中最长 ...

  10. [dp]Leetcode 5. Longest Palindromic Substring

    输入:一个字符串s 输出:最长的回文子串 规则:"abba"是一个回文 分析:输入是"babad",输出"bab".这个问题不能再按照之前分 ...

最新文章

  1. 计算机藏文论文,计算机论文:藏文陈述句复述生成之计算机研究.docx
  2. SQLServer之创建数据库架构
  3. 浅析C#发送短信的原理
  4. linux 修改jmeter内存溢出,jmeter本机内存溢出如何修改?
  5. 前端学习(2968):实现路由跳转的两种方式
  6. python redis 消息队列_Python的Flask框架应用调用Redis队列数据的方法
  7. android banner的比例,Android_首页Banner的封装
  8. CentOS更改主机名
  9. 短信平台API接口集成指南
  10. Android WebView基本使用
  11. 质控三张图 gaochao ards 多个表型写成循环
  12. 惠州教学实验室建设与管理
  13. 关于解码 decode 的错误
  14. 计算机组装方案及分析,计算机组装与维护
  15. skynet 热更新
  16. 北大深院计算机录取难度保饰,她高考685分被北大录取却哭了,看到她的书桌,大家沉默了...
  17. Java学习_Day 10(学习内容:尚硅谷集合JAVA零基础P523-P533)
  18. 使用Monkeyrunner进行Android自动化的总结
  19. vscode怎么禁用插件_VSCode常用插件用户设置常见冲突解决
  20. 自定义接口机板KU085-8ADC-3G

热门文章

  1. WCF技术剖析之九:服务代理不能得到及时关闭会有什么后果?
  2. The process cannot access the file '' because it is being used by another process.....
  3. java面向接口编程详解
  4. springboot的war部署到tomcat正常启动,访问404问题
  5. ElasticSearch全文搜索引擎之核心概念和IK分词器篇
  6. ubuntu14.04.5安装paramiko模块pip install paramiko出现一堆问题的解决过程
  7. 打开大数据研究的潘多拉魔盒
  8. .NET IO 复习中的误区
  9. 写代码质量改善java计划151建议——导航开始
  10. 一晃眼这个blog已经丢弃两年。。。