当前位置: 首页> 财经> 金融 > leetcode刷题

leetcode刷题

时间:2025/7/9 0:46:32来源:https://blog.csdn.net/weixin_42419365/article/details/139359444 浏览次数:0次

回文子串个数

思想太妙了,用二维数组来表示。dp[i][j]表示i到j是否是回文串,这样就可以做递推公式了。

int countSubstrings(string s) {vector<vector<bool>> dp(s.size(), vector<bool> (s.size(), false));int result = 0;for(int i = s.size() - 1; i >= 0; i--){for(int j = i; j < s.size(); j++){if(s[i] == s[j]){if(j - i <= 1){dp[i][j] = true;result++;}else if(dp[i + 1][j - 1] == true){dp[i][j] = true;result++;}}}}return result;}

最长回文子序列长度

和上一题基本类似。

int longestPalindromeSubseq(string s) {vector<vector<int>> dp (s.size(), vector<int> (s.size()));for(int i = 0; i < s.size(); i++){dp[i][i] = 1;}for(int i = s.size() - 2; i >= 0; i--){for(int j = i + 1; j < s.size(); j++){if(s[i] == s[j]){dp[i][j] = dp[i + 1][j - 1] + 2;}elsedp[i][j] = max(dp[i + 1][j], dp[i][j - 1]);}}return dp[0][s.size() -1];}
关键字:leetcode刷题

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: