由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - share一下最近三个电话面试题Amazon, Groupon, Google
相关主题
CS intern面经备考google onsite, 讨论堆排序的时间复杂度
刚面完 google,题目priority_queue C++ implementation
也问一个median的问题Citibank 第二轮
两道2009算法题O(1)space解法到底能不能用递归?
找最大俩数的代码怎么写?facebook telephone interview from careercup
问个老题,find the next larger in BST国庆节 狗家面经
Quick sort为什么需要logN的memory?EASY刷完了 三个月能刷进狗吗
一道题目这里聪明人多,来一道面试题
相关话题的讨论汇总
话题: google话题: groupon话题: amazon话题: anagram话题: return
进入JobHunting版参与讨论
1 (共1页)
B**********2
发帖数: 923
1
Amazon
1.括号匹配
1.1 已知一个字符流,只有'('或者')',检查是否是balance
解:用一个数maintain,以0开始,遇到'('就加1,遇到')'就减一。进行中如果小于0
,直接就return false. 全扫完如果等于0就return true, 否则return false
1.2 已知字符流包括 (,[,{ 和 ),],},检查是否balance
解:不用数maintain,而改用一个stack,碰到匹配的就pop,否则push,空栈再碰到任
意右括号,直接return false。如果全扫完是空栈return true, 否则return false
2.Anagram
给一个数组的单词,要求输出顺序为anagram,即如果有 tea, cat, eat, 那么tea和
eat一定要挨着
解:同一anagram单词特点是把这个单词按字母排序之后,长得都一样。所以用一个字
典来维护anagram
同一单词排序后为key, 关于单词的list就是value。如果有这个key,就append到list里
,没有就另开一个。最后把这些anagram连起来输出
Groupon
零钱问题
1. 给一个整数值的金额(n cents),返回最少总硬币数,用(quarter, dime, 5 cents,
penny)
解:直接用贪心策略。先算用多少quarter,再dime,再5 cents,再penny
2. 还是一个金额(n cents),但是硬币用自己定义的额度,比如[10, 7, 1]
解:这个问题存在无解情况。比如给个额度3,但是硬币面值只有2的,这种情况fail,
返回-1
剩下的,用背包问题解。DP
Google
1. Reverse link list,递归和循环。并分析性能
解:太标准了,略
2. 3-sum question:
给N = 1,000,000个不相同的int整数以及一个int X. 如果 a + b + c <= X,(a < b <
c)则称有一个triplet, 求triplet count。
解:sort & scan. 先sort,O(N logN)时间
然后scan, i form 0 to N-3,j从i+1开始递增,k从N-1开始递减,优先动k,只要k < j
,则k递减,直到找到第一个 A[i] + A[j] + A[k] <= X. 则 count += (k - j),然后
j加一个
对于每个i, 找一轮时间O(N) (j, k 相遇,不会超过N步)
总体时间复杂度 O(N^2)
目前三家的结果
Amazon 本周五onsite
Google 下周一电话第二轮
Groupon 下周五onsite
求保佑
M**********7
发帖数: 378
2
多谢分享!
Bless!!
e********d
发帖数: 1202
3
答的很好啊,有啥可担心的。

0

【在 B**********2 的大作中提到】
: Amazon
: 1.括号匹配
: 1.1 已知一个字符流,只有'('或者')',检查是否是balance
: 解:用一个数maintain,以0开始,遇到'('就加1,遇到')'就减一。进行中如果小于0
: ,直接就return false. 全扫完如果等于0就return true, 否则return false
: 1.2 已知字符流包括 (,[,{ 和 ),],},检查是否balance
: 解:不用数maintain,而改用一个stack,碰到匹配的就pop,否则push,空栈再碰到任
: 意右括号,直接return false。如果全扫完是空栈return true, 否则return false
: 2.Anagram
: 给一个数组的单词,要求输出顺序为anagram,即如果有 tea, cat, eat, 那么tea和

m****9
发帖数: 492
4
请问LZ google是多长时间回复的?
c******t
发帖数: 391
5
anagram排序的话,能直接用Arrays.sort()么,还是需要自己写comparator啥的?
g**4
发帖数: 863
6
多谢LZ分享!
google第2题,当找到第一个triplet后,k也应该返回末尾,j加1,重新开始吧。这样
应该是O(n^3).应该可以用二分降到O(N^2 * lgN)
但是既然面试官给了个总数量大于1m的数组,是否是要求有别的解法?还得等高手来回
答。
另外请问下LZ,google第2题要求把完整代码写出来,bug free吗?

0

【在 B**********2 的大作中提到】
: Amazon
: 1.括号匹配
: 1.1 已知一个字符流,只有'('或者')',检查是否是balance
: 解:用一个数maintain,以0开始,遇到'('就加1,遇到')'就减一。进行中如果小于0
: ,直接就return false. 全扫完如果等于0就return true, 否则return false
: 1.2 已知字符流包括 (,[,{ 和 ),],},检查是否balance
: 解:不用数maintain,而改用一个stack,碰到匹配的就pop,否则push,空栈再碰到任
: 意右括号,直接return false。如果全扫完是空栈return true, 否则return false
: 2.Anagram
: 给一个数组的单词,要求输出顺序为anagram,即如果有 tea, cat, eat, 那么tea和

n******n
发帖数: 12088
7
Groupon 1, 如何证明贪心法可以最优?

0

【在 B**********2 的大作中提到】
: Amazon
: 1.括号匹配
: 1.1 已知一个字符流,只有'('或者')',检查是否是balance
: 解:用一个数maintain,以0开始,遇到'('就加1,遇到')'就减一。进行中如果小于0
: ,直接就return false. 全扫完如果等于0就return true, 否则return false
: 1.2 已知字符流包括 (,[,{ 和 ),],},检查是否balance
: 解:不用数maintain,而改用一个stack,碰到匹配的就pop,否则push,空栈再碰到任
: 意右括号,直接return false。如果全扫完是空栈return true, 否则return false
: 2.Anagram
: 给一个数组的单词,要求输出顺序为anagram,即如果有 tea, cat, eat, 那么tea和

n******n
发帖数: 12088
8
G答的好就不会有第二次电面。

【在 e********d 的大作中提到】
: 答的很好啊,有啥可担心的。
:
: 0

i*********e
发帖数: 21
9
no need to move k to the end..OP is correct.

【在 g**4 的大作中提到】
: 多谢LZ分享!
: google第2题,当找到第一个triplet后,k也应该返回末尾,j加1,重新开始吧。这样
: 应该是O(n^3).应该可以用二分降到O(N^2 * lgN)
: 但是既然面试官给了个总数量大于1m的数组,是否是要求有别的解法?还得等高手来回
: 答。
: 另外请问下LZ,google第2题要求把完整代码写出来,bug free吗?
:
: 0

J***n
发帖数: 21
10
楼主给的答案明显O(n^2)啊。

【在 g**4 的大作中提到】
: 多谢LZ分享!
: google第2题,当找到第一个triplet后,k也应该返回末尾,j加1,重新开始吧。这样
: 应该是O(n^3).应该可以用二分降到O(N^2 * lgN)
: 但是既然面试官给了个总数量大于1m的数组,是否是要求有别的解法?还得等高手来回
: 答。
: 另外请问下LZ,google第2题要求把完整代码写出来,bug free吗?
:
: 0

相关主题
问个老题,find the next larger in BST备考google onsite, 讨论堆排序的时间复杂度
Quick sort为什么需要logN的memory?priority_queue C++ implementation
一道题目Citibank 第二轮
进入JobHunting版参与讨论
S***w
发帖数: 1014
11
你这算法好像不对
为啥k-j 在google题上?

0

【在 B**********2 的大作中提到】
: Amazon
: 1.括号匹配
: 1.1 已知一个字符流,只有'('或者')',检查是否是balance
: 解:用一个数maintain,以0开始,遇到'('就加1,遇到')'就减一。进行中如果小于0
: ,直接就return false. 全扫完如果等于0就return true, 否则return false
: 1.2 已知字符流包括 (,[,{ 和 ),],},检查是否balance
: 解:不用数maintain,而改用一个stack,碰到匹配的就pop,否则push,空栈再碰到任
: 意右括号,直接return false。如果全扫完是空栈return true, 否则return false
: 2.Anagram
: 给一个数组的单词,要求输出顺序为anagram,即如果有 tea, cat, eat, 那么tea和

f****l
发帖数: 8042
12
mark学习一下。
r*****t
发帖数: 68
13
How long did it take to get the result of phone interview?

0

【在 B**********2 的大作中提到】
: Amazon
: 1.括号匹配
: 1.1 已知一个字符流,只有'('或者')',检查是否是balance
: 解:用一个数maintain,以0开始,遇到'('就加1,遇到')'就减一。进行中如果小于0
: ,直接就return false. 全扫完如果等于0就return true, 否则return false
: 1.2 已知字符流包括 (,[,{ 和 ),],},检查是否balance
: 解:不用数maintain,而改用一个stack,碰到匹配的就pop,否则push,空栈再碰到任
: 意右括号,直接return false。如果全扫完是空栈return true, 否则return false
: 2.Anagram
: 给一个数组的单词,要求输出顺序为anagram,即如果有 tea, cat, eat, 那么tea和

B**********2
发帖数: 923
14
The 2nd day after phone interview

【在 m****9 的大作中提到】
: 请问LZ google是多长时间回复的?
B**********2
发帖数: 923
15
No, not work like that.
If you have a A[i] + A[j] + A[k] <= X, the next should move j, while j
increasing in the sorted array A, k must be less than current k.
Sorry for no Chinese input in hotel

【在 g**4 的大作中提到】
: 多谢LZ分享!
: google第2题,当找到第一个triplet后,k也应该返回末尾,j加1,重新开始吧。这样
: 应该是O(n^3).应该可以用二分降到O(N^2 * lgN)
: 但是既然面试官给了个总数量大于1m的数组,是否是要求有别的解法?还得等高手来回
: 答。
: 另外请问下LZ,google第2题要求把完整代码写出来,bug free吗?
:
: 0

B**********2
发帖数: 923
16
All the 2nd day they tell me
Google and Amazon are the recruiter asked me via LinkedIn, then I called
them.
Groupon is referred from friend.

【在 r*****t 的大作中提到】
: How long did it take to get the result of phone interview?
:
: 0

B**********2
发帖数: 923
17
Would you please offer more detail?
I think those are very basic questions. Much easier than ACM

【在 S***w 的大作中提到】
: 你这算法好像不对
: 为啥k-j 在google题上?
:
: 0

B**********2
发帖数: 923
18
Don't have to sort the array. Just take every word make a copy and then sort
the word as a key.
now you have both key and value

【在 c******t 的大作中提到】
: anagram排序的话,能直接用Arrays.sort()么,还是需要自己写comparator啥的?
1 (共1页)
进入JobHunting版参与讨论
相关主题
这里聪明人多,来一道面试题找最大俩数的代码怎么写?
一个题问个老题,find the next larger in BST
问个算time complexity的问题Quick sort为什么需要logN的memory?
F家onsite悲剧了,求refer一道题目
CS intern面经备考google onsite, 讨论堆排序的时间复杂度
刚面完 google,题目priority_queue C++ implementation
也问一个median的问题Citibank 第二轮
两道2009算法题O(1)space解法到底能不能用递归?
相关话题的讨论汇总
话题: google话题: groupon话题: amazon话题: anagram话题: return