zoukankan      html  css  js  c++  java
  • [leetcode]Longest Palindromic Substring

    最长回文子串,存在O(n)的算法,Manacher’s Algorithm

    暂时还不会T_T,先用平方的算法做把,反正最长是1000

    f[i][j]表示,i..j这段是否是回文串

    那么 f[i][j] = true   i = j

                      s[i] == s[j]  i + 1 = j

                      s[i] == s[j] && f[i + 1] [j - 1]  i < j

    class Solution {
    public:
        string longestPalindrome(string s) {
            // Note: The Solution object is instantiated only once and is reused by each test case.
            if (s == "") return "";
            int len = s.length();
            bool f[len][len];
            memset(f , false , sizeof(bool) * len * len);
            int maxLen = 1;
            int start = 0;
            for(int i = 0 ; i < len ; i++){
                f[i][i] = true;
                for(int j = 0 ; j < i ; j++){
                    f[j][i] = s[j] == s[i] && (i - j < 2 || f[j + 1][i - 1]);
                    if(f[j][i] && i - j + 1 > maxLen){
                        maxLen = i - j + 1;
                        start = j;
                    }
                }
            }
            return s.substr(start , maxLen);
        }
    };
  • 相关阅读:
    scrapy框架(一)
    selenium爬取京东商品信息
    自动化测试工具selenium的使用
    xpath选择器的使用
    爬取网页数据实例
    爬虫实操
    爬虫之`beautifulsoup4`模块
    DNS学习笔记
    MongoDB集群部署
    MongoDB单机部署
  • 原文地址:https://www.cnblogs.com/x1957/p/3360656.html
Copyright © 2011-2022 走看看