旅游网站管理系统论文,怎么制作一个网页,西部数码网站工具,网络营销推广的方式和特点个人主页#xff1a;兜里有颗棉花糖 欢迎 点赞#x1f44d; 收藏✨ 留言✉ 加关注#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】【LeetCode】 #x1f354;本专栏旨在提高自己算法能力的同时#xff0c;记录一下自己的学习过程#xff0c;希望… 个人主页兜里有颗棉花糖 欢迎 点赞 收藏✨ 留言✉ 加关注本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】【LeetCode】 本专栏旨在提高自己算法能力的同时记录一下自己的学习过程希望对大家有所帮助 希望我们一起努力、成长共同进步。 点击直接跳转到该题目 目录 1️⃣题目描述2️⃣题目解析3️⃣解题代码 1️⃣题目描述
给你一个字符串 s 每一次操作你都可以在字符串的任意位置插入任意字符。
请你返回让 s 成为回文串的 最少操作次数 。
「回文串」是正读和反读都相同的字符串。
示例1 输入s “zzazz” 输出0 解释字符串 “zzazz” 已经是回文串了所以不需要做任何插入操作。 示例2 输入s “mbadm” 输出2 解释字符串可变为 “mbdadbm” 或者 “mdbabdm” 。 示例3 输入s “leetcode” 输出5 解释插入 5 个字符后字符串变为 “leetcodocteel” 。 注意
1 s.length 500s 中所有字符都是小写字母。
2️⃣题目解析
状态表示
dp[i][j]表示区间[i,j]字符串称为回文串的最少插入次数。 状态转移方程如下图 返回值
dp[0][n-1]
3️⃣解题代码
class Solution {
public:int minInsertions(string s) {int n s.size();vectorvectorint dp(n,vectorint(n));for(int i n - 1;i 0;i--){for(int j i 1;j n;j){if(s[i] s[j]) dp[i][j] dp[i 1][j - 1];else dp[i][j] min(1 dp[i][j - 1],1 dp[i 1][j]);}}return dp[0][n - 1];}
};最后就顺利通过啦