代码随想录60期day50

647. Palindromic Substrings

cpp 复制代码
class Solution {
public:
    int countSubstrings(string s) {
        vector<vector<bool>>dp(s.size(),vector<bool>(s.size(),false));
        int result = 0;
        for(int i = s.size() - 1;i>=0;i--){
        	for(int j = i; j < s.size() ;j++){
        		if(s[i] == s[j]){
        			if(j - i <=1){
        				result++;
        				dp[i][j]= true;
        			}else if(dp[i+1][j-1]){
        				result++;
        				dp[i][j] = true;
        			}
        		}
        	}
        }
        return result;
    }
};

516

cpp 复制代码
class Solution {
public:
    int longestPalindromeSubseq(string s) {
        vector<vector<int>>dp(s.size(),vector<int>(s.size(),0));
        for(int i = 0;i<s.size();i++) dp[i][i] =1; 
        for(int i = s.size()-1;i>=0;i--){
        	for(int j = i + 1;j <s.size();j++){
        		if(s[i] == s[j]){
        			dp[i][j] = dp[i+1][j-1]+2;
        		}else{
        			dp[i][j] = max(dp[i+1][j],dp[i][j-1]);
        		}
        	}
        }
        return dp[0][s.size() - 1];
    }
};
相关推荐
晨曦夜月7 分钟前
map与unordered_map区别
算法·哈希算法
Morwit8 分钟前
QML组件之间的通信方案(暴露子组件)
c++·qt·职场和发展
图码31 分钟前
如何用多种方法判断字符串是否为回文?
开发语言·数据结构·c++·算法·阿里云·线性回归·数字雕刻
handler0140 分钟前
Linux 内核剖析:进程优先级、上下文切换与 O(1) 调度算法
linux·运维·c语言·开发语言·c++·笔记·算法
minglie11 小时前
实数列的常用递推模式
算法
代码小书生1 小时前
math,一个基础的 Python 库!
人工智能·python·算法
AI科技星1 小时前
全域数学·数术本源·高维代数卷(72分册)【乖乖数学】
人工智能·算法·数学建模·数据挖掘·量子计算
生成论实验室1 小时前
《事件关系阴阳博弈动力学:识势应势之道》第一篇:生成正在发生——从《即事经》到事件-关系网络
人工智能·科技·算法·架构·创业创新
漂流瓶jz1 小时前
UVA-1152 和为0的4个值 题解答案代码 算法竞赛入门经典第二版
数据结构·算法·二分查找·题解·aoapc·算法竞赛入门经典·uva
leoufung1 小时前
LeetCode 76:Minimum Window Substring 题解与滑动窗口思维详解
算法·leetcode·职场和发展