dp java

  1. Longest Palindromic Substring

Input: "babad"
Output: "bab"
Note: "aba" is also a valid answer.

Input: "cbbd"
Output: "bb"

class Solution {
    private static int low;
    private static int maxLen;
    public String longestPalindrome(String s) {
        int len=s.length();
        if(len<2){
            return s;
        }
        for(int i=0;i<len;i++){
            extend(s,i,i);
            extend(s,i,i+1);
        }
        return s.substring(low, low+maxLen);
    }
    private static void extend(String s, int j, int k) {
        while(j>=0&&k<s.length()&&s.charAt(j)==s.charAt(k)){
            j--;
            k++;
        }
        if(maxLen<k-j-1){
            low=j+1;
            maxLen=k-j-1;
        }

    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • LeetCode的题目非常是碎片化时间来做,而且可以尝试最新的C++标准和多种语言, 正好要学习Java,就C++...
    mengduan阅读 610评论 0 1
  • 最近正在找实习,发现自己的算法实在是不能再渣渣,在网上查了一下,发现大家都在刷leetcode的题,于是乎本渣渣也...
    caoxian阅读 922评论 0 2
  • <center>#1 Two Sum</center> link Description:Given an arr...
    铛铛铛clark阅读 2,198评论 0 3
  • 我到底是,把该错的,不该错的,都弄错了!所谓这些那些,都不在该在的轨道上。心里的慌乱依旧,要延续多久? 秉性难移啊...
    郑安娜阅读 232评论 0 0
  • 今天回过头复习了Python的数据结构的部分内容。双端队列(double-ended queue)是一种具有队列和...
    422d602c244f阅读 172评论 0 1