
算法
kannju
这个作者很懒,什么都没留下…
展开
-
ZZ一道百度面试题:求数组中出现次数超过一半的数
<br /><br />一道百度面试题<br /> <br />现在有一个数组,已知一个数出现的次数超过了一半,请用O(n)的复杂度的算法找出这个数。<br /> <br />Yzf给出的算法:<br />1. 遍历数组,如果元素的个数是1,算法退出<br />2. 元素两两比较,如果两个数相同,则删去一个,如果两个数不同,则都删去。<br />3. 重复执行1<br /> <br />复杂度分析:<br />每次遍历至少要删掉n/2个元素,首次遍历元素的个数是n,<br />segma原创 2010-12-21 21:21:00 · 2671 阅读 · 2 评论 -
Trie树|字典树的简介及实现
<br />Trie,又称字典树、单词查找树,是一种树形结构,用于保存大量的字符串。它的优点是:利用字符串的公共前缀来节约存储空间。<br />相对来说,Trie树是一种比较简单的数据结构.理解起来比较简单,正所谓简单的东西也得付出代价.故Trie树也有它的缺点,Trie树的内存消耗非常大.当然,或许用左儿子右兄弟的方法建树的话,可能会好点.<br /><br />其基本性质可以归纳为:<br />1. 根节点不包含字符,除根节点外每一个节点都只包含一个字符。 <br />2. 从根节点到某一节点,路径上经转载 2011-05-07 19:56:00 · 467 阅读 · 0 评论 -
一个数以最少步骤分解为另外两个数和差问题的解决
有同学面试的时候遇到要求一个数以最少步骤分解为另外两个数和差问题的解决,大约描述是“将一个数分解为几个数的和或者差的形式,并且使步骤最小”。这类题的解题理论是数论里面的一次不定方程的整数解。引用 百度百科:定义1. 形如 ax + by = c ( a,b,c∈Z,a转载 2011-09-02 22:02:40 · 878 阅读 · 0 评论