博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode 5 Longest Palindromic Substring(最长子序列)
阅读量:5332 次
发布时间:2019-06-14

本文共 1429 字,大约阅读时间需要 4 分钟。

Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000, and there exists one unique longest palindromic substring.

动态规划,类似于lcs的解法,数组flag[i][j]记录s从i到j是不是回文

首先初始化,i>=j时,flag[i][j]=true,这是因为s[i][i]是单字符的回文,当i>j时,为true,是因为有可能出现flag[2][1]这种情况,比如bcaa,当计算s从2到3的时候,s[2]==s[3],这时就要计算s[2+1] ?= s[3-1],总的来说,当i>j时置为true,就是为了考虑j=i+1这种情况。

接着比较s[i] ?= s[j],如果成立,那么flag[i][j] = flag[i+1][j-1],否则直接flag[i][j]=false

c++代码:

1 class Solution { 2 public: 3     string longestPalindrome(string s) { 4         int len = s.length(), max = 1, ss = 0, tt = 0; 5         bool flag[len][len]; 6         for (int i = 0; i < len; i++) 7             for (int j = 0; j < len; j++) 8                 if (i >= j) 9                     flag[i][j] = true;10                 else flag[i][j] = false;11         for (int j = 1; j < len; j++)12             for (int i = 0; i < j; i++)13             {14                 if (s[i] == s[j])15                 {16                     flag[i][j] = flag[i+1][j-1];17                     if (flag[i][j] == true && j - i + 1 > max)18                     {19                         max = j - i + 1;20                         ss = i;21                         tt = j;22                     }23                 }24                 else flag[i][j] = false;25             }26         return s.substr(ss, max);27     }28 };

 

转载于:https://www.cnblogs.com/zpfbuaa/p/5076791.html

你可能感兴趣的文章
HDU-1150 Machine Schedule 二分图匹配
查看>>
单例模式的5种写法
查看>>
安卓问题报告小记(四):Some projects cannot be imported because they already exist in the workspace...
查看>>
显示地图
查看>>
无线通信基础(一):无线网络演进
查看>>
如何在工作中快速成长?阿里资深架构师给工程师的10个简单技巧
查看>>
WebSocket 时时双向数据,前后端(聊天室)
查看>>
关于cocoa 运行时runtime
查看>>
关于python中带下划线的变量和函数 的意义
查看>>
asp.net 写入excel时,不能更新。数据库或对象为只读。
查看>>
linux清空日志文件内容 (转)
查看>>
jsp中对jstl一些标签的引用方式
查看>>
安卓第十三天笔记-服务(Service)
查看>>
Servlet接收JSP参数乱码问题解决办法
查看>>
【bzoj5016】[Snoi2017]一个简单的询问 莫队算法
查看>>
Ajax : load()
查看>>
分布式版本控制系统
查看>>
MySQL-EXPLAIN执行计划Extra解释
查看>>
Zookeeper概述
查看>>
Zookeeper一致性级别
查看>>