代买随想录二刷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];
    }  
}
相关推荐
zc.z3 小时前
JAVA实现:纯PCM格式音频转换成BASE64
java·音视频·pcm
放羊郎3 小时前
基于ORB-SLAM2算法的优化工作
人工智能·算法·计算机视觉
mask哥3 小时前
力扣算法java实现汇总整理(上)
java·算法·leetcode
袁雅倩19974 小时前
当吸尘器、筋膜枪都用上Type-C,供电方案该怎么选?浅谈PD取电芯片ECP5702的应用
c语言·开发语言·支持向量机·动态规划·推荐算法·最小二乘法·图搜索算法
如果'\'真能转义说4 小时前
OOXML 文档格式剖析:哈希、ZIP结构与识别
xml·算法·c#·哈希算法
夏日听雨眠4 小时前
数据结构(栈和队列)
数据结构
Aaswk4 小时前
Java Lambda 表达式与流处理
java·开发语言·python
是宇写的啊5 小时前
Spring AOP
java·spring
万邦科技Lafite5 小时前
京东item_get接口实战案例:实时商品价格监控全流程解析
java·开发语言·数据库·python·开放api·淘宝开放平台
梦梦代码精6 小时前
BuildingAI 上部署自定义工作流智能体:5 个实用技巧
大数据·人工智能·算法·开源软件