LeetCode 打卡 Day9 — 最长回文子串
2022/1/15 23:34:32
本文主要是介绍LeetCode 打卡 Day9 — 最长回文子串,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1. 题目
2. 解答
2.1 解 :动态规划
1)P(i,j) :布尔类型,表示 i 到 j 为回文字符串
2)S(i) :第 i 个字符
3)状态转移方程和边界条件分别如下
(1)状态转移方程:P(i,j) = P(i+1,j-1) [S(i) == S(j)]
(2)边界条件:P(i,i) 和 P(i,i+1)
func longestPalindrome(s string) string { var slen int = len(s) p := make([][]bool, slen) //p 记录是否为回文字符 for i:= range p{ p[i] = make([]bool, slen) } for i:=0; i<slen; i++{ //长度为1的字符串均为回文字符串 p[i][i] = true } // 从长度为2开始循环 for L:=2; L<=slen; L++{ // 从最左侧开始 for i:=0; i<slen-L+1; i++{ j := i+L-1 if j>=slen{ break } if s[i]==s[j]{ if (j-i) < 3{ p[i][j] = true }else if p[i+1][j-1]{ p[i][j] = true }else{ p[i][j]=false } }else{ p[i][j] = false } } } maxlen := 0 start := 0 for i:=0; i<slen; i++{ for j:=i; j<slen; j++{ if p[i][j] && (maxlen<(j-i+1)){ start = i maxlen = j-i+1 } } } return s[start:start+maxlen] }
提交记录如下:
这篇关于LeetCode 打卡 Day9 — 最长回文子串的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-29Elasticsearch慢查询日志配置
- 2024-05-29揭秘华为如此多成功项目的产品关键——Charter模板
- 2024-05-29海外IDC业务拓展的7大挑战
- 2024-05-29InLine Chat功能优化对标Github Copilot,CodeGeeX带来更高效、更直观的编程体验!
- 2024-05-29CodeGeeX 智能编程助手 6 项功能升级,在Visual Studio插件市场霸榜2周!
- 2024-05-29AutoMQ 生态集成 Apache Doris
- 2024-05-292024年IDC行业的深度挖掘:机遇、挑战与未来展望
- 2024-05-29五款扩展组件齐发 —— Volcano、Keda、Crane-scheduler 等,邀你体验
- 2024-05-29AutoMQ 对象存储数据高效组织的秘密: Compaction
- 2024-05-29活动预告|来 GIAC 大会听大数据降本利器:AutoMQ 基于云原生重新设计的 Kafka