问题
查找某个值在list中的位置
解决思路
可以用折半查询的方法解决此问题。
解决(Python)
#! /usr/bin/env python
#coding:utf-8
#折半查找某个元素在list中的位置
def half_search(lst,value,left,right):
length = len(lst)
while left<ri...
分类:
其他好文 时间:
2014-06-19 11:09:48
阅读次数:
527
题目:交差字符串。给3个字符串s1, s2, s3,判断s3是不是由s1和s2组成的交叉字符串。
设s1长度为m, s2长度为n,判断 s3[0...m+n-1] 是不是由s1[0...m-1], s2[0...n-1]组成的交叉字符串,假设s1[m-1] == s3[m+n-1],则只需判断s3[0...m+n-2]是不是由s1[0...m-2], s2[0...n-1]组成的交叉字符串...,依次这样判断下去。从这可以总结,这个问题可以划分为比它小的问题,这里使用动态规划应该比较合适。
dp[i][j]...
分类:
其他好文 时间:
2014-06-16 12:38:58
阅读次数:
166
问题
删除一个字符串中连续超过一次的空格。
解决(Python)
#! /usr/bin/env python
#coding:utf-8
def del_space(string):
split_string = string.split(" ") #以空格为分割,生成list,list中如果含有空格,则该空格是连续空格中的后一个
string_list =...
分类:
其他好文 时间:
2014-06-16 11:21:52
阅读次数:
204
这个系列主要是记一下目前效率较高或者比较出名的一些算法.Karatsuba multiplication:x=5678 then: a=56 b=67y=1234 c=12 d=34setps: 1: a*c = 672 ①2: b*d=2652 ②3: (a+b)(c+d)=6164 ③4: ③....
分类:
其他好文 时间:
2014-06-15 22:00:22
阅读次数:
335
一. 算法描述 选择排序:比如在一个长度为N的无序数组中,在第一趟遍历N个数据,找出其中最小的数值与第一个元素交换,第二趟遍历剩下的N-1个数据,找出其中最小的数值与第二个元素交换......第N-1趟遍历剩下的2个数据,找出其中最小的数值与第N-1个元素交换,至此选择排序完成。 举个例子:5 .....
分类:
其他好文 时间:
2014-06-15 21:21:56
阅读次数:
169
在Python中本来不存在所谓大整数溢出问题。但是,我看到了一个叫做阿拉伯乘法的方法,是一个古老的计算两个数相乘的问题。于是用它来计算两个大整数相乘,感觉还不错。...
分类:
其他好文 时间:
2014-06-15 17:46:10
阅读次数:
266
旋转数组中的查找。[1, 2, 3, 4, 5, 6]的一个旋转数组为[4, 5, 6, 1, 2, 3]。在旋转数组中寻找一个数。
最直接的方法,一次遍历,时间复杂度O(n)。但是既然是一个部分有序的数组,那么对于有序的部分我们可以想方法用二分查找。这个效率可以提高。
代码:
.......
分类:
其他好文 时间:
2014-06-15 17:33:21
阅读次数:
195
题目
Given a sorted array of integers, find the starting and ending position of a given target value.
Your algorithm's runtime complexity must be in the order of O(log n).
If the target i...
分类:
其他好文 时间:
2014-06-15 16:53:32
阅读次数:
177
题目
Given a sorted array of integers, find the starting and ending position of a given target value.
解题思路:
查找一个数出现的范围,给一个排好序的数组和一个数,找出这个数在数组中出现的范围。
这个题直接使用一次遍历就可以得到结果,这样的时间复杂度为O(n)。但是对于有序数组我们一般可以使用二分查找可以得到更好的O(logn)的时间复杂度。我们可以使用二分查找找到这个数第一次出现的位置和这个数最后一次出现的位...
分类:
其他好文 时间:
2014-06-15 16:19:16
阅读次数:
237
题目
Given a set of distinct integers, S, return all possible subsets.
原题链接(点我)
解题思路
子集合问题。给一个集合 ,求出其所有的子集合。这个题也是个组合问题--老思路:递归加循环。
代码实现......
分类:
其他好文 时间:
2014-06-13 21:28:42
阅读次数:
252