动态规划实战4-leetcode 5.Longest Palindromic Substring
确定状态:
最长的子串,减去两边的字符也一定是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 动态规划 马拉车算法】LeetCode 5. Longest Palindromic Substring
LeetCode 5. Longest Palindromic Substring LeetCode中与回文串相关的免费的题目共有15道(5, 9, 125, 131, 132, 214, 234, ...
- LeetCode 5. Longest Palindromic Substring 最长回文子串 Python 四种解法(Manacher 动态规划)
Longest Palindromic Substring 最长回文子串 学习笔记 1. Brute method 第一种方法:直接循环求解,o(n2)o(n^2) class Solution:de ...
- [LeetCode]--5. Longest Palindromic Substring
Given a string S, find the longest palindromic substring in S. You may assume that the maximum lengt ...
- [*leetcode 5] Longest Palindromic Substring
Given a string S, find the longest palindromic substring in S. You may assume that the maximum lengt ...
- leetcode 5 :Longest Palindromic Substring 找出最长回文子串
题目: Given a string S, find the longest palindromic substring in S. You may assume that the maximum l ...
- leetcode 5 Longest Palindromic Substring Java JavaScript解法
题目详情 Given a string s, find the longest palindromic substring in s. You may assume that the maximum ...
- [LeetCode] 5. Longest Palindromic Substring
这道题可以用动态规划,但是其实中心枚举更直接并符合逻辑,需要注意的是,以每一个字母为中心查找最大的Palindromic string的时候是有两种情况,第一种是以这个单一字母为中心(aba),第二个 ...
- LeetCode 5.Longest Palindromic Substring 求解
经典的动态规划问题 动态规划 定义: 是一种在数学.管理科学.计算机科学.经济学和生物信息学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法. 动态规划常常适用于有重 ...
- leetcode 5. Longest Palindromic Substring 字符串中的最长回文数 逐步从O(n^2)优化至线性时间
题目 解析 思路一 暴力解法 思路二 指针+最大长度 思路3 由中间至两边找回数 思路4 Manacher's algorithm 线性时间 参考文档 题目 链接 给定一个字符串 s,找到 s 中最长 ...
- [dp]Leetcode 5. Longest Palindromic Substring
输入:一个字符串s 输出:最长的回文子串 规则:"abba"是一个回文 分析:输入是"babad",输出"bab".这个问题不能再按照之前分 ...
最新文章
- 计算机藏文论文,计算机论文:藏文陈述句复述生成之计算机研究.docx
- SQLServer之创建数据库架构
- 浅析C#发送短信的原理
- linux 修改jmeter内存溢出,jmeter本机内存溢出如何修改?
- 前端学习(2968):实现路由跳转的两种方式
- python redis 消息队列_Python的Flask框架应用调用Redis队列数据的方法
- android banner的比例,Android_首页Banner的封装
- CentOS更改主机名
- 短信平台API接口集成指南
- Android WebView基本使用
- 质控三张图 gaochao ards 多个表型写成循环
- 惠州教学实验室建设与管理
- 关于解码 decode 的错误
- 计算机组装方案及分析,计算机组装与维护
- skynet 热更新
- 北大深院计算机录取难度保饰,她高考685分被北大录取却哭了,看到她的书桌,大家沉默了...
- Java学习_Day 10(学习内容:尚硅谷集合JAVA零基础P523-P533)
- 使用Monkeyrunner进行Android自动化的总结
- vscode怎么禁用插件_VSCode常用插件用户设置常见冲突解决
- 自定义接口机板KU085-8ADC-3G
热门文章
- WCF技术剖析之九:服务代理不能得到及时关闭会有什么后果?
- The process cannot access the file '' because it is being used by another process.....
- java面向接口编程详解
- springboot的war部署到tomcat正常启动,访问404问题
- ElasticSearch全文搜索引擎之核心概念和IK分词器篇
- ubuntu14.04.5安装paramiko模块pip install paramiko出现一堆问题的解决过程
- 打开大数据研究的潘多拉魔盒
- .NET IO 复习中的误区
- 写代码质量改善java计划151建议——导航开始
- 一晃眼这个blog已经丢弃两年。。。