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

    import jdk.nashorn.internal.ir.GetSplitState;

    import java.io.*;
    import java.util.*;

    public class longestPalindromicSubstring {
    public static String longestPalindrome(String s) {
    if(s.length() == 1 )
    return s.substring(0,1);
    else{
    int[][] dp = new int[s.length() + 5][s.length() + 5];
    for (int i=0;i< s.length();i++)
    for(int j=i+1;j<s.length();j++){
    dp[i][j] = -1;
    }
    for (int i=0;i<s.length();i++)
    dp[i][i] = 1;
    int left = 0, right = 0, Max = 1;
    for (int l= 2 ; l<=s.length() ; l++)
    for(int i = 0; i< s.length() ; i++){
    int j = i +l -1 ;
    if(j >= s.length()) break;
    if( s.charAt(i)== s.charAt(j) && l == 2){
    dp[i][j] = 2 ;
    if(dp[i][j] >= Max ){
    Max = dp[i][j];
    left = i;
    right = j;
    }
    }
    else if(s.charAt(i)== s.charAt(j) && l>=3 &&dp[i+1][j-1]!=-1){
    dp[i][j] = dp[i+1][j-1] + 2 ;
    if(dp[i][j] >= Max ){
    Max = dp[i][j];
    left = i;
    right = j;
    }
    }

    }
    /* System.out.print("left: ");
    System.out.println(left);
    System.out.print("right: ");
    System.out.println(right);
    System.out.println(s.substring(left, right+1));*/
    return s.substring(left, right+1) ;
    }
    }

    public static void main(String args[]) throws Exception{
    // System.out.print("jiaweitao");
    // MyIO.ScannerTest();
    while(true){
    Scanner sca = new Scanner(System.in);
    String str = sca.nextLine();
    //System.out.println(str.substring(0,str.length()+1));
    //System.out.println(str.substring(1,str.length()-1));
    // System.out.println(longestPalindrome(str.substring(1,str.length()-1)));
    // System.out.println(longestPalindrome(str));
    longestPalindrome(str);

    }
    }
    }

  • 相关阅读:
    Golden Tiger Claw (KM算法)
    Xor Sum题解>----(思维+递归)
    Mister B and PR Shifts(思维)
    Traffic Real Time Query System-(点双缩点+LCA)
    最大的位或----(极简代码)
    萌萌哒题解_倍增并查集
    连续攻击游戏(递增1)题解------(并查集)
    道路与航线 (连通块Dijkstra+拓扑序||spfa+slf优化)
    美团校招-表达式求值
    天猫前端电话面试
  • 原文地址:https://www.cnblogs.com/xianbin7/p/9338391.html
Copyright © 2011-2022 走看看