dp 注意没有声明S不空,处理一下 o(n^2) class Solution { public: string longestPalindrome(string s) { if (s.empty()) return ""; int len=s.length(); int dp[len][len]; for(int i=0;i<len;i++) for(int k=0;k<len;k++) dp[i][k]=0; int start=0,end=0; for (int i=…
Leetcode 5. Longest Palindromic Substring(最长回文子串, Manacher算法) Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000. Example 1: Input: "babad" Output: "bab" Note: "aba&q…
对于一个比较长的字符串,O(n^2)的时间复杂度是难以接受的.Can we do better? 先来看看解法2存在的缺陷. 1) 由于回文串长度的奇偶性造成了不同性质的对称轴位置,解法2要对两种情况分别处理:2) 很多子串被重复多次访问,造成较差的时间效率. 缺陷2)可以通过这个直观的小体现: char: a b a b a i : 0 1 2 3 4 当i==1,和i==2时,左边的子串aba分别被遍历了一次. 如果我们能改善解法2的不足,就很有希望能提高算法的效率.Manacher正是针对…
题目链接:Longest Palindromic Substring 1. 问题描述 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. 2. 各种解法复杂度 暴力枚举:O(N^2) 记忆化搜索:O(N…