这个题目的递归解法是容易的,但有大量的重复计算,如果不存在没有解码的子串的话,会是指数级的时间复杂度。然而,我们能够通过记录已经计算过的子问题,来降低重复计算,于是有了改进的版本一。但版本一种需要O(n)的空间复杂度。进一步观察问题,发现递推关系其实比较像斐波那契数列,不同之处在于递推关系中的求和是...
分类:
其他好文 时间:
2014-05-06 01:06:01
阅读次数:
361
现在普通PC平台上面多核处理器的普及,让我们领教了能够利用多核进行并行计算的软件的处理能力,同时继承更多地核心正是当前处理器发展的趋势。但是作为一个.NET开发人员,是否有时候会发现你的程序占用了其中一个核心的大部分运行时间,甚至达到了100%,除了继续优化处理问题的算法。那么还有方法能够利用CPU...
分类:
Web程序 时间:
2014-05-06 00:56:19
阅读次数:
329
方法一:DFS递归,判断每一个是否为回文数1,首先要有一个判断字符串是否是回文的函数。容易实现,字符串从两边同时往中间走,看字符是否相同;2,深度优先搜索思想对字符串进行遍历。得到结果。例如,s
= "abacd"; 需要对“a”“ad”“aba”“abac”“abacd”进行深度优先搜索。深度搜索...
分类:
其他好文 时间:
2014-05-06 00:52:34
阅读次数:
388
加群看见的但是计算好慢,谁有更优的算法,麻烦说一下。factor=[]for x in
xrange(1, 987654//2+1): if 987654%x==0: factor.append(x)sum=0for y in xrange(1,
1000000000): ...
分类:
编程语言 时间:
2014-05-06 00:37:50
阅读次数:
851
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1312此题与油田那题很像是练习深搜的好题,题意是从“@”开始,遍历整个图,找到连接的
“.”有多少个但要考虑变化,简单处理下就行了,主要是斜角的不要了,而且判断结束方式也不一样具体看代码吧#include...
分类:
其他好文 时间:
2014-05-06 00:36:02
阅读次数:
301
Floyd算法所有顶点对之间的最短路径问题是:对于给定的有向网络G=(V,E),要对G中任意两个顶点v,w(v不等于w),找出v到w的最短路径。当然我们可以n次执行DIJKSTRA算法,用FLOYD则更为直接,两种方法的时间复杂度都是一样的。1.定义概览Floyd-Warshall算法(Floyd-...
分类:
其他好文 时间:
2014-05-06 00:34:06
阅读次数:
333
利用二叉树实现的排序。将源文件中的数据以中序由小到大的顺序构建二叉树,再写入到另一个文件中(顺便释放为二叉树分配的空间)。这里使用了非递归的算法实现。
分类:
编程语言 时间:
2014-05-06 00:19:39
阅读次数:
353
那年是787年!公元?——Monty
Python任何规则都不可能如此一般,以至不能容许任何例外(异常)。——Bobert Burton1、模块化和界面
任何实际程序都是由一些部分组成的。例如,最简单的“ Hello, world! ”程序也涉及到至少两部分:用户代码要求将Hello, world....
分类:
其他好文 时间:
2014-05-06 00:19:04
阅读次数:
382
1. 熟知主流硬件体系(x86, x64)2. 熟知 CPython
的具体实现,如若可能至少通读源码三遍以上3. 熟知每条 Python bytecode 如何被解释执行4. 熟知每条 Python 语句如何 compile 成
bytecode5. 熟知 Python 主要数据结构所采用的优化手...
分类:
其他好文 时间:
2014-05-06 00:18:16
阅读次数:
306
先做不翻转的深度搜索,然后翻转当前的比特位,再递归地深度搜索。
分类:
其他好文 时间:
2014-05-06 00:17:16
阅读次数:
220