代码随想录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];
    }
};
相关推荐
我命由我123452 小时前
Photoshop - Photoshop 工具栏(5)多边套索工具
笔记·学习·ui·职场和发展·photoshop·ps·美工
_dindong3 小时前
动规:回文串问题
笔记·学习·算法·leetcode·动态规划·力扣
wangwangmoon_light4 小时前
0.0 编码基础模板
java·数据结构·算法
共享家95274 小时前
Leetcode刷题
算法·leetcode·职场和发展
simon_skywalker4 小时前
第7章 n步时序差分 n步时序差分预测
人工智能·算法·强化学习
山,离天三尺三4 小时前
基于LINUX平台使用C语言实现MQTT协议连接华为云平台(IOT)(网络编程)
linux·c语言·开发语言·网络·物联网·算法·华为云
flashlight_hi5 小时前
LeetCode 分类刷题:74. 搜索二维矩阵
python·算法·leetcode·矩阵
小年糕是糕手5 小时前
【数据结构】算法复杂度
c语言·开发语言·数据结构·学习·算法·leetcode·排序算法
程序员-King.5 小时前
day86——有效的字母异位词(LeetCode-242)
算法·字符串
kalvin_y_liu6 小时前
【MES架构师与C#高级工程师(设备控制方向)两大职业路径的技术】
开发语言·职场和发展·c#·mes