力扣-5.最长回文子串

题目链接

5.最长回文子串

java 复制代码
class Solution {
    public String longestPalindrome(String s) {
        boolean[][] dp = new boolean[s.length()][s.length()];
        int maxLen = 0;
        String str = s.substring(0, 1);
        for (int i = 0; i < s.length(); i++) {
            dp[i][i] = true;
        }
        for (int len = 2; len <= s.length(); len++) {
            for (int i = 0; i + len <= s.length(); i++) {
                int j = i + len - 1;
                if (len == 2) {
                    dp[i][j] = s.charAt(i) == s.charAt(j);
                } else {
                    dp[i][j] = s.charAt(i) == s.charAt(j) && dp[i + 1][j - 1];
                }
                if (dp[i][j]) {
                    str = s.substring(i, i + len);
                }
            }
        }
        return str;
    }
}

小结:双指针可以做居然不超时,但这里还是做了动态规划解法,注意遍历的时候要按照子串长度从小到大遍历,避免跳过。

相关推荐
郑州光合科技余经理9 小时前
代驾系统架构拆解:订单链路、权限组织与私有化源码交付
开发语言·后端·算法·架构·系统架构·uni-app·php
To_OC12 小时前
LC 35 搜索插入位置:二分查找谁都会,边界条件谁写谁懵
javascript·算法·leetcode
码哥DFS12 小时前
二叉树的直径
开发语言·javascript·算法
营养充电站15 小时前
KMP全栈开发:从Android到AI Agent的技术演进与实践
人工智能·算法·docker·jupyter
技术小黑16 小时前
RNN算法实战系列05 | 天气预测
人工智能·rnn·算法
Ivanqhz18 小时前
php8 use-def链
算法·php
evans在进步19 小时前
LeetCode 189 轮转数组:三次反转原地解决,图解 Java 实现
java·算法·leetcode
歌_顿19 小时前
Drawing_To_Model
算法
龍德明宇19 小时前
AI不会疼-龍德明宇
人工智能·算法·大语言模型llm·负主体性·ai存在论