代买随想录二刷day57

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • [一、力扣647. 回文子串](#一、力扣647. 回文子串)
  • [二、力扣516. 最长回文子序列](#二、力扣516. 最长回文子序列)

前言


一、力扣647. 回文子串

java 复制代码
class Solution {
    public int countSubstrings(String s) {
        int n = s.length();
        boolean[][] dp = new boolean[n][n];
        int res = 0;
        for(int i = n-1; i >= 0; i --){
            for(int j = i; j < n; j ++){
                if(s.charAt(i) == s.charAt(j)){
                    if(j -i <= 1){
                        res ++;
                        dp[i][j] = true;
                    }else if(dp[i+1][j-1]){
                        res ++;
                        dp[i][j] = true;
                    }
                }
            }
        }
        return res;
    }
}
java 复制代码
class Solution {
    public int countSubstrings(String s) {
        int res = 0;
        for(int i = 0; i < s.length(); i ++){
            res += fun(i,i,s);
            res += fun(i,i+1,s);
        }
        return res;
    }
    public int fun(int start, int end, String s){
        int res = 0;
        while(start >= 0 && end < s.length()){
            if(s.charAt(start) != s.charAt(end)){
                return res;
            }
            start --;
            end ++;
            res ++;
        }
        return res;
    }
}

二、力扣516. 最长回文子序列

java 复制代码
class Solution {
    public int longestPalindromeSubseq(String s) {
        int n = s.length();
        int[][] dp = new int[n][n];
        for(int i = n-1; i >= 0; i --){
            for(int j = i; j < n; j ++){
                if(s.charAt(i) == s.charAt(j)){
                    if(j - i <= 1){
                        dp[i][j] = j-i+1;
                    }else{
                        dp[i][j] = dp[i+1][j-1] + 2;
                    }
                }else{
                    dp[i][j] = Math.max(dp[i][j-1], dp[i+1][j]);
                }
            }
        }
        return dp[0][n-1];
    }  
}
相关推荐
axxy200019 分钟前
leetcode之hot100---24两两交换链表中的节点(C++)
c++·leetcode·链表
chenziang126 分钟前
leetcode hot100 环形链表2
算法·leetcode·链表
_oP_i1 小时前
Pinpoint 是一个开源的分布式追踪系统
java·分布式·开源
mmsx1 小时前
android sqlite 数据库简单封装示例(java)
android·java·数据库
武子康1 小时前
大数据-258 离线数仓 - Griffin架构 配置安装 Livy 架构设计 解压配置 Hadoop Hive
java·大数据·数据仓库·hive·hadoop·架构
Captain823Jack2 小时前
nlp新词发现——浅析 TF·IDF
人工智能·python·深度学习·神经网络·算法·自然语言处理
豪宇刘2 小时前
MyBatis的面试题以及详细解答二
java·servlet·tomcat
秋恬意2 小时前
Mybatis能执行一对一、一对多的关联查询吗?都有哪些实现方式,以及它们之间的区别
java·数据库·mybatis
Captain823Jack2 小时前
w04_nlp大模型训练·中文分词
人工智能·python·深度学习·神经网络·算法·自然语言处理·中文分词
Aileen_0v03 小时前
【AI驱动的数据结构:包装类的艺术与科学】
linux·数据结构·人工智能·笔记·网络协议·tcp/ip·whisper