求所有解,所以使用回溯演算法來列舉所有的解。**如下
class solution
/*** 回溯函式
*/function backtrack($string, &$res, $path)
for($i= 1; $i <= strlen($string); ++$i)}}
/*** 判斷是不是回文串
*/function ispalindrome($string)
$left++;
$right--;
}return true;
}}
每次判斷是否是回文的時候,會重複判斷,例如abba
.所以使用動態規劃,將所有的回文子串查出來。**如下:
class solution
/*** 回溯函式
*/function backtrack($string, &$res, $path, $left)
// 迴圈回溯子串
for($i= 1; $i <= strlen($string); ++$i)}}
/*** 動態規劃查出所有的回文字串
*/function palindrome($string) else }}
}}
每日一題 LeetCode
在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數。示例 1 輸入 7,5,6,4 輸出 5 限制 0 陣列長度 50000 思想是 分治演算法 所有的 逆序對 於 3 個部分 左邊區間的逆序對 右邊區間的逆序對 橫跨兩個區間的...
面試 每日一題(8)
好長時間沒有更新部落格了,特別是這個專欄,一是因為自己比較忙,二是因為我還是比較懶的緣故。讓各位見笑了。今天在更新一篇。像什麼strcpy strcat等等字串的操作和實現在面試中經常出現,不管是上機題還是筆試題。而今天在這裡我將重點講講strcpy和memcpy的實現,而memset也會稍微提一下...
每日一題 LeetCode之括號生成
給出 n 代表生成括號的對數,請你寫出乙個函式,使其能夠生成所有可能的並且有效的括號組合。例如,給出 n 3,生成結果為 思路 使用深度優先遍歷實現,每乙個位置要麼是 要麼是 我們用兩個變數left和right儲存 和 的剩餘個數。每次遞迴,left或right減1,字串新增乙個相應的括號,當lef...