给定字符串 s, 将 s 划分成子串, 使得每个子串为回文子串, 求最小划分次数

给定字符串 s, 将 s 划分成子串, 使得每个子串为回文子串, 求最小划分次数 

给定字符串 s, 将 s 划分成子串, 使得每个子串为回文子串, 求最小划分次数

伪代码

FIND-MIN-CUT(s)

1.      i←0, j←0

2.      fori<n or j<n

3.      C[i][j]← 0

4.      i←1, j←0

5.      fori<n

6.         forj<n-i+1

7.            K=i+j-1

8.            If n==1

9.                Then C[j][k]=true

10.         Elseif n==2

11.             Then C[j][k]=s[j:k]是否为回文

12.         ElseC[j][k]=s[j][k]是否为回文&&C[j+1][k-1]

13.         If C[j][k]   then flag[j][k]=0

14.         Else

15.              For(m←j)<k

16.                  Min=flag[j][m]+flag[m+1][k]+1

17.   return flag[0][n-1]

给定字符串 s, 将 s 划分成子串, 使得每个子串为回文子串, 求最小划分次数