2015-10-17 58 views
1

處理下面的問題和測試用例,我的問題是爲什麼單個字符'b'是迴文?關於與迴文相關的算法

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. 

由於事先 林從維基迴文

+0

BTW,我也糊塗了什麼手段分切,任何人都可以告訴我的情況下,哪裏有在一個字符串中有多個切割解決方案以擁有不同的迴文?謝謝。 –

回答

2

定義:

迴文是單詞,短語,數字或字符的其它序列,其讀取相同的向後或前鋒。

單字符字符串是迴文,因爲它滿足這個條件。

最小切割意味着您需要放置的最小切割次數,以便所有子字符串都是迴文。

這是最簡單的例子: s="aaaabbbb"

MinCuts應該1"aaaa", "bbbb"

但在給定的例子,你可以有3,4,5,6 etc削減。 例3個削減:"aa", "aa", "bb", "bb"

而且總是會有與minCuts = stringLength-1的解決方案爲每一個字符是一個迴文

+1

oops。固定。謝謝@Hurkyl – pgiitu

+0

謝謝pgiitu,你有一個非連續(和非單一)字符有多個切割方法的例子嗎? –

+1

這個'abaabatimmit'如何? 1削減'abaaba','timmit'。 2削減'aba','aba','timmit' – pgiitu