给定字符串 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]