2013年5月21日

关于序列的面试题3------------股票问题

摘要: BAT大神hulu面试中,三面的第二道题就是股票问题,而恰巧室友在amazon面试中也遇到了这个问题。、 问题:一个人知道未来n天的每天股票的价格,请你给出一个算法,使得这个人从哪天买入,哪天卖出能获得最大的收益。 问题实际上就是求一个数组后面元素减前面元素的最大值 O(n2)的方法就不说了。BAT大神回答的方法,复杂度是O(nlgn), 面试官说答案就是O(nlgn), 但是我室友告诉我的方法复杂度是O(n),前面一部分保存最小值都是一样的,但是后面没必要非要找到最大值:代码如下: 1 #include <stdio.h> 2 #include <stdlib.h> 阅读全文

posted @ 2013-05-21 22:03 iamccme 阅读(620) 评论(0) 推荐(0) 编辑

关于序列的面试题2------------最大连续子序列和以及积

摘要: 问题1描述求取数组中最大连续子序列和,例如给定数组为A={1, 3, -2, 4, -5}, 则最大连续子序列和为6,即1+3+(-2)+ 4 = 6。有O(n3),O(n2), O(nlogn), O(n)各种复杂度不同的解法。这里就说下复杂度最低的解法吧。但是其它复杂度的方法也很重要,因为可以应用到一些变种的问题上。方法如下: 1 /*最大连续子序列和*/ 2 #include <stdio.h> 3 #include <stdlib.h> 4 int maxsequence(int a[], int len) 5 { 6 int max = a[0]; 7 ... 阅读全文

posted @ 2013-05-21 21:38 iamccme 阅读(1384) 评论(1) 推荐(0) 编辑

关于序列的面试题1 ------------- 判断整数序列是否是二叉排序树的后续遍历

摘要: 看了BAT大牛的hulu面经。觉得真正牛B的公司就是要招真正牛B的人。真正牛B的人必须是既聪明努力的人。既然是不是聪明自己决定不了, 那还是自己努力一点吧。而且感觉到一点,面试问到的算法题都是很短时间就能写出来的算法。所以如果一些算法题的代码量超过100行,就不用专门去准备了。 一面第1道面试题的题意是:判断整数序列是不二叉排序树的后续遍历.题目:输入一个整数组,判断该是不某二元查找树的后序遍历结果。如果是返回 truet,否则返回 false 。例如输入 5、7、6、9、11 、10 、8,由于这一整数序列是如下树的后遍历结果: 8/ \6 10/ \ / \5 7 9 11因此返回... 阅读全文

posted @ 2013-05-21 19:53 iamccme 阅读(655) 评论(0) 推荐(0) 编辑

导航