http://m.blog.csdn.net/blog/zhangzhengyi03539http://m.blog.csdn.net/blog/zhangzhengyi03539/46795831一、选择最大值或者最小值的最优算法对于长度为n的数组,已证找最大值或者最小值比较操作下界就是n-1。所...
分类:
编程语言 时间:
2015-07-14 13:12:56
阅读次数:
161
一、选择最大值或者最小值的最优算法
对于长度为n的数组,已证找最大值或者最小值比较操作下界就是n-1。所以只需要让第一个值为初始最大值或者初始最小值,用所有的值与这个值比较,更新这个值即可。def minimum(a):
minNum=a[0]
for i in range(1,len(a)):
if minNum>a[i]:
minNum=...
分类:
编程语言 时间:
2015-07-08 00:34:54
阅读次数:
160
1. String difference(final String str1, final String str2)
说明:Compares two Strings, and returns the portion where they differ.
i.e:
("ahc", "bcu") -> "ahbu"
/**
*
* @Title: differen...
分类:
编程语言 时间:
2015-06-29 20:35:07
阅读次数:
138
1. String getOrderedString(boolean isDuplicated, String … str)
说明:
Orders all characters in the input strings and return the ordered string.(note: only considering the alphabets and digits)
i.e:
...
分类:
编程语言 时间:
2015-06-25 15:43:48
阅读次数:
123
算法的第一步就是在每个字符的左右都加上一个#,这样有什么效果呢。
比如aba初始化之后为#a#b#a#,字符串长度为7是奇数。
比如1221初始化之后为#1#2#2#1#,字符串长度为9是奇数。
为什么我们要将其转换成奇数呢,因为算法求取回文串长度的时候,需要有一个中心节点,之后分别向左右搜索,所以需要将回文串豆转换为奇数长度。
之后我们需要将str[0]赋值为一个字符,可以赋值为$,...
分类:
编程语言 时间:
2015-05-25 14:41:02
阅读次数:
146
在读书的过程中,我发现一些不能解决或者可以进行算法优化的问题,决定把它们保存下来,有空的时候慢慢琢磨。 下面这两道是关于Stack的性质的好题。 下面两道是求局部最大元素,LeetCode上有类似的一道题,提示算法可以继续优化,我试试能不能找到最优算法。 下面是DP问题 下面是利用几何思...
分类:
其他好文 时间:
2015-05-13 16:04:49
阅读次数:
102
朋友曾经给我推荐了一个有关代码优化的pdf文档《让你的软件飞起来》,看完之后,感受颇深。为了推广其,同时也为了自己加深印象,故将其总结为word文档。下面就是其的详细内容总结,希望能于己于人都有所帮助。速度取决于算法同样的事情,方法不一样,效果也不一样。比如,汽车引擎,可以让你的速度超越马车,却无法...
分类:
编程语言 时间:
2015-04-27 15:07:25
阅读次数:
168
已知三个升序整数数组a[l], b[m]和c[n]。请在三个数组中各找一个元素,是的组成的三元组距离最小。三元组的距离定义是:假设a[i]、b[j]和c[k]是一个三元组,那么距离为:
Distance = max(|a[ I ] – b[ j ]|, |a[ I ] – c[ k ]|, |b[ j ] – c[ k ]|)
请设计一个求最小三元组距离的最优算法,并分析时间复杂度。...
分类:
其他好文 时间:
2015-03-30 16:28:33
阅读次数:
142
转自Florian1. 三柱汉诺塔三柱汉诺塔是经典的汉诺塔问题,在算法设计中是递归算法的典型问题。其算法是这样的: 首先把A 柱上面的n- 1 个碟子通过C 柱移到B 柱上【T(n-1)步】,然后把A 柱剩下的一个碟子移到C 柱上【1步】, 最后把B 柱上所有的碟子通过A 柱移到C 柱上【T(n-1...
分类:
编程语言 时间:
2014-11-22 00:32:12
阅读次数:
343
注意一题多解,举一反三,从普通算法到最优算法
1.判断一个字符串中的字符是否唯一(即没有重复),不能使用额外的数据结构(使用基本的数据结构)
2.反转一个字符串
3.去掉字符串中的重复字符,不能使用额外的缓存空间
4.判断两个字符串是否是变位词(两个单词字符相同,但是位置不同的单词)
5.写一函数,把字符串的空格替换为%20
6.判断字符串是否是另一个字符串的字串
7.从一个...
分类:
编程语言 时间:
2014-11-05 00:26:44
阅读次数:
184