problemscpp
A collection of my answers to algorithm problems in c++.
静态 Public 成员函数 | 所有成员列表
leetcode::palindrome_partitioning_ii::Solution类 参考

#include <leetcode.h>

静态 Public 成员函数

static int minCut (string s)
 

详细描述

在文件 leetcode.h3128 行定义.

成员函数说明

◆ minCut()

int leetcode::palindrome_partitioning_ii::Solution::minCut ( string  s)
static

在文件 leetcode.cpp8877 行定义.

8877 {
8878 vector is_palindromic(s.length(), vector(s.length(), false));
8879 for(int i = 0; i < s.length(); i++) {
8880 for(int j = 0; i - j >= 0 && i + j < s.length() && s[i - j] == s[i + j]; j++) {
8881 is_palindromic[i - j][i + j] = true;
8882 }
8883 }
8884 for(int i = 0; i < s.length() - 1; i++) {
8885 if(s[i] == s[i + 1]) {
8886 for(int j = 0; i - j >= 0 && i + 1 + j < s.length() && s[i - j] == s[i + 1 + j]; j++) {
8887 is_palindromic[i - j][i + 1 + j] = true;
8888 }
8889 }
8890 }
8891 vector dp(s.length(), 2000);
8892 dp[0] = 0;
8893 for(int j = 1; j < dp.size(); j++) {
8894 if(is_palindromic[0][j]) {
8895 dp[j] = 0;
8896 continue;
8897 }
8898 for(int i = j; i >= 0; i--) {
8899 if(is_palindromic[i][j]) {
8900 dp[j] = min(dp[j], dp[i - 1] + 1);
8901 }
8902 }
8903 }
8904 return dp.back();
8905 }
bool is_palindromic(string str)
Definition: pat.cpp:2767

引用了 pat::b::b1079::is_palindromic().

被这些函数引用 leetcode::palindrome_partitioning_ii::TEST().


该类的文档由以下文件生成: