LeetCode_Palindrome Partitioning II
Given a string s, partition s such that every substring of the partition is a palindrome. Return the minimum cuts needed for a palindrome partitioning of s. For example, given s = "aab" , Return 1 since the palindrome partitioning [ "aa" , "b" ] could be produced using 1 cut. |
分析: D[i] = 区间[i,n)之间最小的cut数,n为字符串长度, 则,D[i] = min(D[i],1+D[j+1]) i<=j <n
P[i][j] = str[i] == str[j] && P[i+1][j-1];
class Solution { public: int minCut(string s) { // Start typing your C/C++ solution below // DO NOT write int main() function int len = s.size(); if(len < 2) return 0 ; vector<vector<bool>> flag(len, vector<bool>(len, false)) ; vector<int> dp(len+1); for(int i = 0; i<= len ; i++) dp[i] = len - i; for(int i = len -1 ; i >= 0 ; i--) for(int j = i; j < len ; j++) if(s[i] == s[j] &&(j-i< 2 || flag[i+1][j-1] ) ) { flag[i][j] = true; dp[i] = dp[i] < dp[j+1] +1 ? dp[i] : dp[j+1] +1 ; } return dp[0]-1; } };
--------------------------------------------------------------------天道酬勤!
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· Browser-use 详细介绍&使用文档
· 软件产品开发中常见的10个问题及处理方法
· Vite CVE-2025-30208 安全漏洞