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;
    }
};
相关推荐
努力中的编程者5 分钟前
STL-vector的模拟实现
开发语言·c++·算法·stl·vector
weixin_4000056030 分钟前
RL-frenet-trajectory-planning-in-CARLA
人工智能·深度学习·算法·机器学习·自动驾驶
Keven_1134 分钟前
AcWing算法提高课思路速查:动态规划
算法·动态规划
剑挑星河月43 分钟前
94.二叉树的中序遍历
java·算法·leetcode
拳里剑气44 分钟前
C++算法:队列与BFS
c++·算法·bfs·宽度优先·队列
Ivanqhz1 小时前
注意力机制
线性代数·算法·矩阵·哈希算法·dnn
z小猫不吃鱼1 小时前
02 Optimal Brain Damage 详解:二阶信息剪枝的起点
算法·机器学习·剪枝
Sw1zzle1 小时前
算法入门(三):二分查找 - 基础模板 & 边界控制(Leetcode 704/35/278/34/69/367)
算法·leetcode
Keven_111 小时前
算法札记:如何判断一个DP能否单调队列优化
算法
m0_626535201 小时前
近似attention
人工智能·算法·机器学习