Q
本地搜索
4
A
回答
4
我們可以在這裏使用動態編程。
的狀態是
(l, r)
- 一個[l, r]
子給定的字符串。狀態的值是子字符串中匹配符號的最大數量。
基本情況很簡單:所有的子短於2,答案0
對於所有的長串,我們可以做兩件事情:
不匹配第一符號到任何東西。
將其與某事匹配並獨立解決兩個較小的子問題(它們是獨立的,因爲不允許交集)。
就是這樣。時間複雜度爲O(n^3)
(有O(n^2)
個狀態和O(n)
從它們中的每個轉換)。下面是一個僞代碼(爲了簡潔省略memoization的):
def calc(l, r)
if l >= r
return 0
res = calc(l + 1, r)
for k = l + 1 to r
if match(s[l], s[k]) // match checks that two characters match
res = max(res, 1 + calc(l + 1, k - 1) + calc(k + 1, r))
return res
0
實際上,在0和1的一個給定序列的連接的最大數量在這兩個值中的最小值 - 在順序和數量的0的數1秒的順序。
當無法連接少數中的所有位時,就沒有這種情況。所以這個問題可以在O(n)中解決。
相關問題
- 1. m2eclipse搜索只搜索本地回購
- 2. 谷歌本地搜索API
- 3. Appcelerator商店本地搜索
- 4. 3-Opt本地搜索TSP?
- 5. Cplex/OPL本地搜索
- 6. 谷歌地圖本地服務搜索
- 7. 搜索本地日期範圍彈性搜索
- 8. brew搜索在哪裏搜索本地水龍頭?
- 9. 用Java搜索Google的本地化網頁搜索
- 10. 語義UI搜索和本地搜索不起作用
- 11. Google Places API與AJAX搜索API和本地搜索控件
- 12. Python - 使用「Google AJAX搜索」API的本地搜索對象
- 13. 本地搜索特定商店
- 14. 更高效地搜索文本文件
- 15. 2-Opt本地搜索實現
- 16. 推薦本地搜索優化算法
- 17. 如何搜索本地提交GIT
- 18. git搜索本地歷史記錄
- 19. VBA刮本地谷歌搜索建議
- 20. 優化本地存儲和搜索
- 21. 將Bing用作本地搜索
- 22. 搜索文本懶洋洋地
- 23. 搜索Eclipse本地歷史記錄
- 24. 如何從雅虎本地搜索
- 25. cscope搜索本地函數C++
- 26. Google本地搜索PHP到Javascript
- 27. Bing本地搜索列表信息?
- 28. 必應地圖文本框搜索
- 29. 在本地搜索敏感哈希
- 30. Android地圖搜索地址
作爲解決這個問題的一種方法,我會首先看看只有A和B的場景。你能爲此製作一個多時間算法嗎? – orlp