LongestPalindromicSubString
打卡,第10天
今天刷的题是Longest Palindromic Substring,开始想着用动态规划做,但是我好像连动态规划是什么我都不知道。。。
题目:
Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.
Example:
Input: “babad”
Output: “bab”
Note: “aba” is also a valid answer.
Example:Input: “cbbd”
Output: “bb”
所以一如既往的想到了分治法:
1 | bool isPalindrome(string &s,int first,int last){ |
大概的思路是:
- 先用分治法将问题规模不断减半,那么现在只需要考虑如何“合”了
- 这里”合”的时间复杂度是O(n^2),没能找出更快的,嗯,不对,好像是O(n^3)….
- whatever,这里的合就是用穷举法去做的,不过不知道为什么还是过了测试
然后是dicuss
中的解法:
1 | string longestPalindrome(string s) { |
emmm,这里好像也是用点穷举的感觉。