leetcode5最长回文子串

思路

s[3][7] 如果是回文串,那么s[4][6]一定也是,然后在需要判断两个顶点

需要考虑两个特殊情况

  1. abcd a、b、c、d都可以
  2. aa

代码

复制代码
public String longestPalindrome(String s) {
        int[][] map = new int[1001][1001];
        int[] result = new int[]{0,0};
        for (int i = 0; i < s.length(); i++) {
            map[i][i] = 1;
        }
        for (int i = 0; i+1 < s.length(); i++) {
            if (s.charAt(i) == s.charAt(i+1)){
                result[0] = i;
                result[1] = i+1;
                map[i][i+1] = 1;
            }
        }
        for (int i = 2 ; i < s.length(); i++){
            for (int j = 0; j+i < s.length(); j++) {
                if (map[j+1][j+i-1] == 1 && s.charAt(j) == s.charAt(j+i)){
                    result[0] = j;
                    result[1] = j+i;
                    map[j][j+i] = 1;
                }
            }
        }
        return s.substring(result[0], result[1]+1);
    }
相关推荐
浒畔居2 分钟前
C++中的状态模式实战
开发语言·c++·算法
naruto_lnq6 分钟前
C++中的状态模式
开发语言·c++·算法
近津薪荼1 小时前
优选算法——双指针4(单调性)
c++·学习·算法
郝学胜-神的一滴1 小时前
Linux Socket编程核心:深入解析sockaddr数据结构族
linux·服务器·c语言·网络·数据结构·c++·架构
IUGEI2 小时前
从原理到落地:DAG在大数据SLA中的应用
java·大数据·数据结构·后端·算法
云深麋鹿2 小时前
五.排序笔记
c语言·数据结构·算法·排序算法
spcier8 小时前
图论拓扑排序-Kahn 算法
算法·图论
知星小度S8 小时前
动态规划(一)——思想入门
算法·动态规划
ysa0510308 小时前
动态规划-逆向
c++·笔记·算法
燃于AC之乐8 小时前
我的算法修炼之路--7—— 手撕多重背包、贪心+差分,DFS,从数学建模到路径DP
c++·算法·数学建模·深度优先·动态规划(多重背包)·贪心 + 差分