Leetcode Hot100 第21题 647.回文子串

cpp 复制代码
class Solution {
public:
    int countSubstrings(string s) {
        int N = s.size();
        vector<vector<bool>> dp(N,vector<bool>(N,false));
        // dp[i][j] = dp[i+1][j-1]
        int result = 0;
        for(int i=N-1;i>=0;i--){
            for(int j=i;j<N;j++){
                if(s[i]==s[j]){
                    if(j-i==0 || j-i==1) dp[i][j]=true;
                    else dp[i][j] = dp[i+1][j-1];
                }
                if(dp[i][j]) result++;
            }
        }
        return result;
    }
};
相关推荐
周可温84117 小时前
动手学RAG
算法
周可温84117 小时前
Transformer 深度理解与动手实现
算法
扶摇接北海17617 小时前
洛谷:B4488 [语言月赛 202602] 甜品食用
数据结构·c++·算法
直有两条腿17 小时前
【机器学习】K-Means 算法
算法·机器学习·kmeans
A923A17 小时前
【洛谷刷题 | 第十天】
算法·洛谷·sprintf·sscanf
Mr_Xuhhh17 小时前
LeetCode 热题 100 刷题笔记:数组与排列的经典解法
数据结构·算法·leetcode
老四啊laosi17 小时前
[双指针] 3. 力扣--快乐数
算法·leetcode·快慢指针
rit843249917 小时前
利用随机有限集(RFS)理论结合ILQR和MPC控制蜂群的MATLAB实现
算法·matlab
会编程的土豆17 小时前
leetcode hot 100 之哈希
算法·leetcode·哈希算法
秋天的一阵风17 小时前
【LeetCode 刷题系列|第 3 篇】详解大数相加:从模拟竖式到简洁写法的优化之路🔢
前端·算法·面试