【力扣】1312. 让字符串成为回文串的最少插入次数

一、题目描述

二、题解

本题我们利用动态规划的思想来解决。

1、状态表示

首先创建一个dp数组,dpij 表示的是将字符串 s 的 i, j 区间的这一子串,变成回文串的最少插入次数。

2、状态转移方程

3、初始化
根据「状态转移方程」,没有不能递推表示的值。 无需初始化 。
4、填表顺序
根据「状态转移方程」,我们发现,在 dp 表所表示的矩阵中, dpi + 1 表示下一行的位置,
dpj - 1 表示前一列的位置。因此我们的填表顺序应该是 从下往上填写每一行,每一行从左往右 。

5、返回值

最后返回dp0n-1的值即可。

三、 解题代码

java 复制代码
class Solution {
    public int minInsertions(String s) {
        int n = s.length();
        //创建dp表
        int[][] dp = new int[n][n];
        //无需初始化
        //填写dp表
        for(int i = n-1; i >= 0; i--) {
            for(int j = i; j < n; j++) {
                if(s.charAt(i) == s.charAt(j)) {
                    if(i == j) {
                        dp[i][j] = 0;
                    }else if(i + 1 == j) {
                        dp[i][j] = 0;
                    }else {
                        dp[i][j] = dp[i+1][j-1];
                    }
                }else {
                    dp[i][j] = Math.min(1 + dp[i][j-1], 1 + dp[i+1][j]);
                }
            }
        }
        return dp[0][n-1];
    }
}
相关推荐
esop轻Mes看板亮灯分拣ESD静电安6 分钟前
产线“最后一米”的破局密码:ESOP与MES的区别与深度协同
算法
陈天伟教授14 分钟前
《数据处理和标注技术》课程能力图谱
人工智能·算法
LMT_Lanmantech17 分钟前
HyperWorks许可:almutil显示Unit满了,数据到底准不准?
运维·服务器·算法
禁默27 分钟前
论文解读与思考:基于场所地图的标识感知机器人探索方法及工程参考的价值
人工智能·深度学习·算法·机器人
维克兜率天28 分钟前
【维克】统计套利建模:从因子到信号的完整流程
android·开发语言·python·算法·kotlin
Zentceh34 分钟前
PixelClean 这类 AI 降噪算法是怎么工作的?从 RAW 域到 GAN 色彩重建的技术拆解
图像处理·人工智能·科技·算法·计算机视觉·车载系统·智能硬件
用户03906147071940 分钟前
无感观测器理论模型(NTSM-SMO-PLL 与 SMO-PLL)
算法
垆边人似月.1 小时前
找出最小的 K 个数
数据结构·c++·算法
熊猫钓鱼>_>1 小时前
当工具成为类:Softmax困境与连接器过载的算法根源
算法·ai·agent·工具·曲线·华为云码道·生态图鉴
信奥卷王1 小时前
[GESP202503 六级] 树上漫步(含视频)
算法