• 200_longest-palindromic-substring


    /*
    @Copyright:LintCode
    @Author:   Monster__li
    @Problem:  http://www.lintcode.com/problem/longest-palindromic-substring
    @Language: Java
    @Datetime: 17-03-07 15:38
    */

    public class Solution {
        /**
         * @param s input string
         * @return the longest palindromic substring
         */
        public String longestPalindrome(String s) {
         int s_length=s.length();
         int index_front=0,index_back=1,palindrome_length;//index_back=index_front+palindrome_length-1;
         int i,palindrome_length_max=1;
         int max_index_front=0,max_index_back=0;
      int palindromelength[][]=new int[s_length+2][s_length+2];
      for(index_front=0; index_front<s_length; ++index_front)
        palindromelength[index_front][1] = 1;
      for(palindrome_length=2;palindrome_length<=s_length;palindrome_length++)
      {
       for(index_front=0;index_front<s_length&&(index_back=index_front+palindrome_length-1)<s_length;++index_front)
       {
        if(s.charAt(index_front)==s.charAt(index_back)&&palindromelength[index_front+1][palindrome_length-2]==palindrome_length-2)
         palindromelength[index_front][palindrome_length]=palindromelength[index_front+1][palindrome_length-2]+2;
        else
         palindromelength[index_front][palindrome_length]=Math.max(palindromelength[index_front+1][palindrome_length], palindromelength[index_front+1][palindrome_length-1]);
        if(palindrome_length_max<palindromelength[index_front][palindrome_length])
        {
         palindrome_length_max=palindromelength[index_front][palindrome_length];
         max_index_front=index_front;
         max_index_back=index_back;
        }
       }
      }
      return s.substring(max_index_front, max_index_back+1);
        }
    }

  • 相关阅读:
    LUOGU P3355 骑士共存问题(二分图最大独立集)
    LUOGU P1453 城市环路(基环树+dp)
    BZOJ 1441 Min (裴蜀定理)
    LUOGU P1342 请柬(最短路)
    LUOGU P1186 玛丽卡
    LUOGU P2580 于是他错误的点名开始了(trie树)
    l洛谷 NOIP提高组模拟赛 Day2
    bzoj 4372 烁烁的游戏——动态点分治+树状数组
    bzoj 3730 震波——动态点分治+树状数组
    hdu 5909 Tree Cutting——点分治(树形DP转为序列DP)
  • 原文地址:https://www.cnblogs.com/liyuquan/p/6518927.html
Copyright © 2020-2023  润新知