一起做过的面试题
面试中经常出现的算法编程题
ttouri
这个作者很懒,什么都没留下…
展开
-
Length of Last Word
leetcode上的一道题,题目: Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the length of last word in the string. If the last word does not exist, retur原创 2014-09-16 00:00:49 · 750 阅读 · 0 评论 -
二元树中和为某一值的所有路径
二元树中和为某一值的所有路径原创 2014-07-18 21:21:23 · 985 阅读 · 0 评论 -
Pow(x, n)
Implement pow(x, n).原创 2014-09-16 00:07:14 · 692 阅读 · 0 评论 -
Same Tree
leetcode 一道判断两棵树是否相同的题:原创 2014-09-21 00:57:47 · 679 阅读 · 0 评论 -
GCD求最大公约数
求最大公约数,原创 2014-09-19 12:46:25 · 1603 阅读 · 0 评论 -
求无序数组中第二大的数--快速选择
之前去面试遇到了这个问题,题目:找出无序数组中第二大的数字。 定睛一看,好简单,一次遍历就可以找出第二大的数字,不过,这样写没有什么特别之处,因为实在是太简单了。自己仔细想想起了之前做过的题,看看有没有什么类似的。于是,想起了之前在网上看到的一道面试题:找出无序数组中最小的k个数。 要找出最小的k个数,可以用快速选择算法,只要在快速排序之后,枢纽刚好是第k+1个数,那么,他左边的数,原创 2014-08-05 15:26:38 · 3641 阅读 · 0 评论 -
跳台阶问题
题目:一个台阶总共有n级,如果一次可以跳1级,也可以跳2级。求总共有多少总跳法,并分析算法的时间复杂度。 在这里看到这道面试题,思路是: 1)每次可以跳1级,也可以跳2级,如果当前只有1级台阶,那么就只有一次跳法;如果当前只有2级台阶,就有2种跳法(一种是每次跳1级,跳2次;另一种是一次跳2级,就跳完),也即 f(1) = 1; f(2) = 2。 2)假设有n原创 2014-08-13 18:32:25 · 1067 阅读 · 0 评论 -
哥也能写KMP了——实现strstr()
经过上次去面试,面试官要求实现strstr(),当场就蒙了,KMP该怎么写啊,这是又要挂了。不行,不能再栽在这里了,不能再菜下去了,于是,立马抄起书《数据结构(C语言版)》,看了一下,感觉,KMP实现起来,代码是很少的,效率还算可以了,实现的过程中,难就难在如何构造next[] 数组,以及如何理解next[],对避免指针无效回退的作用。看了一个上午,总算是明白了。现就贴下代码,做下笔记。 #原创 2014-09-18 12:15:37 · 1378 阅读 · 0 评论 -
根据字符出现的权重生成字符串
听过一些小伙伴被问到一个问题,题目就是: 给你一个字符串,还有这些字符串出现的权重,让你随机生成字符串,并且字符的权重越高,出现的概率越大。 分析: 假设有三个字符:a , b ,c ,它们的权重分别是2,3,5。我们要生成的字符串中的字符必须是这三个字符之一,因为但是权重不同,a,b,c分别占总权重的比例是:20%,30%,50%,这也是它们生成的概率,概率都出来了,那就得根据概率多的,命原创 2014-09-25 12:36:55 · 1824 阅读 · 0 评论 -
一个序列是否可能是push序列的pop序列
输入两个整数序列。其中一个序列表示栈的push顺序,判断另一个序列有没有可能是对应的pop顺序。原创 2014-09-27 00:15:44 · 846 阅读 · 0 评论 -
两道有意思的面试题
逆序输出字符串1)原创 2014-09-28 22:18:51 · 1034 阅读 · 0 评论