思路是这样的,我们从第一个字符开始向后依次找,直到找到一个断句的地方,使得当前获得的子串在dict中,若找到最后都没找到,那么就是False了。
在找到第一个后,接下来找下一个断句处,当然是从第一个断句处的下一个字符开始找连续的子串,但是这时与第一个就稍有不同,比如说word=‘ab’, dict={ 'a', ab', ...},在找到a后,接下来处理的是b,我们发现b不在dict中,但是我们...
分类:
编程语言 时间:
2014-07-16 17:09:39
阅读次数:
273
def Fibonacci(n):
if n <= 0:
return 0
if n <= 1:
return n
f0 = 0; f1 = 1
for i in range(2, n + 1):
fn = f0 + f1
f0 = f1
f1 = fn
return fn...
分类:
其他好文 时间:
2014-07-08 16:42:03
阅读次数:
163
def isOdd(n):
return n & 1
def Reorder(data, cf = isOdd):
odd = 0
even = len( data ) - 1
while True:
while not isOdd( data[ even ]) : even -= 1
while isOdd( data[ odd ]) : odd += 1
if odd ...
分类:
其他好文 时间:
2014-07-08 12:47:26
阅读次数:
276
分析:
还是二叉树遍历模板的改造问题,对于二叉搜索树,中序遍历的结果是有顺序的。题目的要求无非是将中序遍历的结点访问结果链接起来,至于双向链表,通过复用树结点的left 和 right 指针就可以完成。最直接的就是我们可以把中序遍历中访问到的每个结点都放入到个队列里,然后将队列的元素链接起来,但是题目不允许用额外的空间。
想想中心遍历,遍历顺序是 左 --根---右,那么中序遍历的第一个访问结...
分类:
其他好文 时间:
2014-06-27 07:56:13
阅读次数:
341