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;
    }
};
相关推荐
Raink老师7 小时前
【AI面试临阵磨枪-62】设计基于 RAG 的内部知识库问答平台(多租户、权限、文件上传、实时更新)
人工智能·面试·职场和发展
smj2302_796826529 小时前
解决leetcode第3943题递增后的数对数量
数据结构·python·算法·leetcode
炽烈小老头9 小时前
【每天学习一点算法 2026/05/25】矩阵中的最长递增路径
学习·算法·矩阵
我爱cope10 小时前
【Agent智能体6 | 智能体AI评估】
人工智能·职场和发展
叁散10 小时前
实验报告:5G 仿真环境与基本链路模拟
算法
从负无穷开始的三次元代码生活11 小时前
算法零碎灵感点分享
算法
染指111011 小时前
9.LangChain框架(实现RAG)
数据库·人工智能·算法·机器学习·ai·大模型
我爱cope11 小时前
【Agent智能体5 | 任务分解:识别工作流中的步骤】
人工智能·职场和发展
大数据三康11 小时前
在spyder进行的遗传算法练习
开发语言·python·算法
Gene_202211 小时前
轮式底盘的微分平坦
算法