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