Chinaunix首页 | 论坛 | 博客
  • 博客访问: 121169
  • 博文数量: 53
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 620
  • 用 户 组: 普通用户
  • 注册时间: 2014-08-24 16:22
文章存档

2014年(53)

我的朋友

分类: C/C++

2014-09-23 18:05:57

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.


Have you been asked this question in an interview?

得出最短的回文划分次数。
第一思路是动态规划,找最优子结构,假设f(i, j)是从i到j的最短回文划分次数,比较容易得出:

f(i,j
)=0,s[i, j]是回文
f(i,j)=min{f(i,k)+f(k+1,j)}+1, 其中i<=k
阅读(998) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~