• 5. 最长回文子串


    这题使用dp,dp[i][j]=1代表字符串中以i下标开始,以j下标结尾的字符串是回文子串,

    当dp[i][j] =dp[i + 1][j - 1],当s[i] == s[j]的时候,很明显,dp[i][i]一定为1,因为一个字符,一定是回文子串。

    class Solution {

        public String longestPalindrome(String s) {

           //习惯把String转为char[]

            char[] ss = s.toCharArray();

           //当前的回文子串长度为1

            String ans = s.substring(0,1);

            int maxLength = 1;

            //初始化dp数组

            int[][] dp = new int[ss.length][ss.length];

            for(int i = 0; i < dp.length; i++) {

                for(int j = 0; j < dp[i].length; j++) {

                    if(i == j) {

                        dp[i][j] = 1;

                    }

                }

            }

            int n = ss.length;

            //动态规划过程,要先遍历列,再遍历行。因为dp[row][colunm]依赖于

            //dp[row + 1][colunm - 1],所以要先遍历列,再遍历行

            for(int colunm = 1; colunm < n; colunm++) {

                for(int row = 0; row < colunm; row++) {

                    if(ss[row] == ss[colunm]) {

                        if(colunm - row <= 2) {

                            dp[row][colunm] = 1;

                        }

                        else {

                            dp[row][colunm] = dp[row + 1][colunm - 1];

                        }

                    }

                    if(dp[row][colunm] == 1) {

                        if(colunm - row + 1 > maxLength) {

                            maxLength = Math.max(maxLength, colunm - row + 1);

                            ans = s.substring(row, colunm + 1);

                        }

                    }

                

                }

            }

            return ans;

        }

    }

     

  • 相关阅读:
    设计模式-状态模式 golang实现
    VC++删除文件夹
    工欲善其事必先利其器(Windows)
    【中国电工技术学会主办】2022年能源,电力与电气工程国际研讨会(CoEEPE 2022)
    C++之OpenCV入门到提高003:矩阵的掩膜(Mask)处理
    微信小程序 - - - input和键盘一起上弹如何实现?
    湖南特色农产品销售系统APP /基于android的农产品销售系统/基于android的购物系统
    USACO Training 1.3 Duel Palindromes
    月薪近万,工地转行测试,这一次的选择,真正实现了薪资翻倍~
    数据结构之线性表的顺序表(c语言)
  • 原文地址:https://blog.csdn.net/qq_16725749/article/details/126250709