由买买提看人间百态

topics

全部话题 - 话题: heap
首页 上页 1 2 3 4 5 6 7 8 9 10 (共10页)
s***5
发帖数: 2136
1
来自主题: JobHunting版 - 问一道数组题
I double checked, and I was wrong. The only thing is that you need to check
if one of the two neighbors of the new root is already in the heap,
otherwise you add duplicated elements.
3*3 matrix
1 3 6
2 4 7
5 8 9
at k =3 when 3 is the root, you remove it and add its neighbors (4,6) to the
heap, but 4 is already in the heap since it is also the neighbor of 2.

The
c***p
发帖数: 221
2
来自主题: JobHunting版 - 说好得FG面经,回馈板上GGJJ
G的3,4是高频题。
第4题如果用heap解,是min-heap,不是max-heap
如果用quick-sort中的partition算法的话,会问到复杂度,如果输入是如stream,如
何处理。
S*******B
发帖数: 14
3
来自主题: JobHunting版 - 码工找工经验1-转行篇-当断则断
刚拿到一份心仪已久的工作, 这次找工算告一段落。以往每次找工作,都从版上获得
了很多宝贵的信息,但是过去一直很懒,主要潜水,这次正好利用空闲时间,把自己的
几次找工的经历加以整理总结,算是回馈一下版面,也希望对版上诸位朋友有所帮助。
在这系列文章里,我尽量不谈具体公司的面试题,一个原因是签了协议, 另一个原因
是已有的资料已经很全面。 career cup, leetcode, glassdoor, 和本版题目包罗了
市面上绝大部分技术类题目。本来我想做一个总结面试题的网站,后来发现leetcode
已经在那儿了,而且比我想做的还要好,遂作罢。我会把我的一点的练习编程和准备技
术面试的要点整理以后换一种方式来给大家分享。
用马甲发贴是想主id以后还可以去各版随心所欲胡喷,也希望生活中认识的朋友不要点
破。
我会尽量比较客观的描述,因为对大多数人来说,找工作就如小马过河,老牛们自不用
发愁,想去哪里去哪里,反过来,能一路G,T,出国的网友们,就算不是人中龙凤,也
绝对不是小松鼠。 所以作为一个摸着石头过了几次河的小马,提供一些客观参数和装
备供大家参考。我会说的尽量详细一些,请大家不... 阅读全帖
t***t
发帖数: 6066
4
来自主题: JobHunting版 - G家onsite面经
有点错。要保持min-heap根比max-heap根大。新的数先看进哪个heap,再看count,把
一个堆中多出的删掉放到另一个堆你里。
a*******y
发帖数: 1040
5
来自主题: JobHunting版 - 一道题
min heap?
so you only keep one element in the heap since you pop out every time? or
you meant just get the value of the min in the heap?

handle
b***y
发帖数: 2799
6
来自主题: JobHunting版 - Bloomberg onsite interview
For a position in Human resource department. They are developing a system to
track job interviewees for Bloomberg. A year ago ...
1. If you insert a key into a STL set and the key is already in the set,
what will happen?
2. Merge two unsorted array. Each array has unique values, but there are
dupliates between two arrays. Remove the duplicates and merge them. Time
complexity must be better than O(nlogn). You shouldn't use hash table.
3. Write a program to calculate average of an array of integer... 阅读全帖
c******t
发帖数: 391
7
来自主题: JobHunting版 - T家电面一般有几轮? [UPDATE面经]
两周前连着电面了两次他家,自我感觉巨烂,coding题都没做出来。时间刚过半
interviewer就懒得发问草草结束了。结果昨天居然接到HR电话说positive feedback,
让再约一次电面。
不知道T家电面要几轮啊,每次面他家都被问得落花流水,大受打击……
【UPDATE面经】
就两道题,在sharing doc上实现:
1)实现一个min-heap,并用其找无序数组里的top k;
2)实现一个min-stack, 其中min()返回当前栈里的最小值。stack node是Integer,不
能自定义node。
【UPDATE三面面经】
让实现函数,返回无序数组里按增序排列后第k个数,比如{3,1,2,4},key=3,就返回3.
先说了naive的排序解法,又说了用max-heap,这哥们貌似第一次听说这个方法,解释
了巨久,指出复杂度O(k)+O((n-k)lgk)后,还让继续找最优算法。经提示后才明白是让
写珠玑里提到的部分快排解法,coding后被指出有个递归的参数传错了,不过时间关系
没有再深入。
这个部分快排的复杂度不还是O(nlgn)么,为啥就比max-he... 阅读全帖
j******a
发帖数: 55
8
来自主题: JobHunting版 - Yelp面经+题目讨论
拿他家练手,结果电面挂掉了,对他家面试安排很不满意,吐槽之余,想和大家讨论一
下题目。
Yelp的Data Mining职位,面试还是general software engineering。第一次随便找了
不知哪个组的人瞎聊,结果HR说要给onsite。然后突然反悔,找了个Data Mining组的
人加Skype面。
上来扯淡5分钟,集中于我的身份问题。。。
why Yelp?
接下来谈了25分钟的Yelp搜索相关问题,用什么feature,以及如何改进搜索结果等等
,我答了学术界常用的改进方法,虽然自己都觉得这些方法不practical,他没有给任
何引导,只是表示大概知道我的意思,不确定这点互相理解了。feature时说到了
mobile相关的feature,是他唯一非常认同的一点,不知道他什么学术背景,让人感觉
像是做system的。。。
然后是那道经典的系统设计题目: 1 million urls from last hour are stored in
the file, find the top K url in terms of the frequency.
直接说了... 阅读全帖
l****c
发帖数: 782
9
来自主题: JobHunting版 - 发个一直没有见过满意答案的题吧
我昨天才巩固的heap,可能理解还是不深吧。
sort在这个matrix的worstcase是不是n^2 logn^2啊?总数量是n^2,不是n。
heap只要k!=n^2就比sort好吧。复杂度是n^2 logk/
具体操作,从最小的那端数k个,开始和max heap的root比,按行走,如果大于root的
话,直接跳到下一行,应该很快的。
c********s
发帖数: 817
10
来自主题: JobHunting版 - 问一道F的面试题 - 找kNN for 2D points
> k size的 max heap
弱问:when building the heap, 如果新的element最终被放到 > k position时,就是
如何知道新的element不在
top k positions,if 只用k size heap? 对k有特殊的要求吗 (power of 2-1)?
O******i
发帖数: 269
11
来自主题: JobHunting版 - Onsite结束求bless(少量包子)
衰人今年骑驴找马,无奈每面必墨。昨天今天背靠背的两个onsite, 为此用到了周一到
周三的三天unpaid leave. 今年的假都被好多不到两个小时无午饭的onsite用光了,这
样下去老板肯定会怀疑我老请假的原因了。
昨天的onsite又是不到两个小时,被一个不懂什么是heap(heap sort的heap)的亚裔给
鄙视了,估计挂了。
今天的总算有4个小时多,午饭和HM聊天。最后HR聊了很久,都问了薪水期望和能够何
时开始,不过还是不能肯定是否又是悲剧啊。
今天的面试说24小时内给我答复,垦求bless, 穷人一个,若拿到offer借8个包子发,
小小回馈本版。
已经是山穷水尽最绝望的时候了,希望昨天的面试和以前的能给我攒些人品了。
d******i
发帖数: 76
12
来自主题: JobHunting版 - 狗电面

This is my solution I got during the interview.
Suppose there are N lists. and the longest list has M intervals.
There are two similar solutions.
one gives (M*N)log(M*N), the other one gives (M*N)log(M);
I wrote down the first solution, cus codes are simpler than the second one,:
D. and later I discussed about the second one with the interviewer.
The first one is a straightforward one.
put all of the intervals into one minHeap.
Each time get the top of the heap, and decide if it could be merge... 阅读全帖
w**********o
发帖数: 140
13
来自主题: JobHunting版 - 一道面试题:三等分数组
小弟抛块砖,希望大牛们点评下。
首先sort, 从大到小排列。
L: 100, 98, 97, 76, 50, 30, ...., 10, 9, 2,1
分3组, a, b, c. 挨个拿。
First time
a: 100
b: 98
c: 97
sum(a) = 100
sum(b) = 98
sum(c) = 97 最小, 把L里面最大的分给他
Second time
a: 100,
b: 98,
c: 97, 76
sum(a) =100
sum(b) = 98 最小, 把L里面最大的分给他
sum(c) =173
3rd
a: 100,
b: 98, 50,
c: 97, 76,
sum(a) =100 最小, 把L里面最大的分给他
sum(b) = 148
sum(c) = 173
3rd
a: 100, 30
b: 98, 50,
c: 97, 76,
以此类推, 全部分完。
这样3组的difference比较小,size基本一样的情况下。
算法:个人理解就和国内分蛋糕一样。
每人都拿一块, c拿最小的要说话了, 再给我一份。
c变最大, b说他也要,一次不行... 阅读全帖
a******8
发帖数: 90
14
来自主题: JobHunting版 - g电面,新鲜面经
1. 一个log里有页面的访问记录,如何获得前1000popular的(hash_map + heap)
followup,log里存在多个machine里,我原先说每个maintain heap,后来经提醒不work,
改用每个存heap,然后merge,再提了些优化的方案.面试官基本满意。
2.一个很大的table存了query -> occurrence,如何随机获得1个query,概率是基于每个
query的occurrence,
1 2 3
20 10 30
获得第一个数的概率是 20/60.
这题我很纠结,我上来就想到因为大数据量,用resevior sampling的变版做(
constant space),边想边写边测弄了快半小时才弄出来,最后也解释了半天,其实也
有很直接的方法,把累加做个数组就行了,用bst搜素log(n),当时面试就是有点一根
筋。最后问了问组的情况,听口音感觉是同胞里的一个大牛,希望能水过。(突然想起
来介绍的时候他的名字不像是同胞的)
l***z
发帖数: 9
15
来自主题: JobHunting版 - 请教一个题,不太容易,要O(n)
可以用一个大小为k的heap,每次遇到大数插入heap,然后removeMin。
这样最后heap中是最大的k个数,O(nlogk)
a******8
发帖数: 90
16
来自主题: JobHunting版 - 一道关于trie的题目
我顺便练个:只贴关键的设计部分,欢迎大家提改进意见
class Node
{
char last_c;
int num;
Node* parent;
Node* child[26];
list lsugg;
hash_map msugg;
};
class PrefixTree
{
private:
Node* m_root;
public:
PrefixTree(){m_root = NULL;}
list giveSugg(string word)
{
Node* cur = m_root;
list empty;
for(int i = 0; i < word.size(); i++)
{
cur = cur->child[word[i]];
if(!cur)return empty;
}
... 阅读全帖
l**h
发帖数: 893
17
之前看到面经:"n个排序链表,每个有m个元素,如何合并成一个。最开始说的是min
heap的方法,他要求的是O(1) space但是时间效率一样的,想出来了,然后证明时间开
销,写了代码。"
min heap的方法容易解释,但是怎么O(1) space合并而时间效率和min heap一样呢?
g*******d
发帖数: 495
18
来自主题: JobHunting版 - 俺老10年前关于语言未来的论述
今天在hackerrank上刷题,Median。暴力法用C写,不复杂,就是超时。
看到二爷留言中用了maxheap minheap,受启发。于是手写了max heap和min heap的操
作(不到140行吧)
我看二爷貌似是直接用的heap……用C刷题的真心伤不起(除非是已经攒了一堆模版)
w****a
发帖数: 710
19
来自主题: JobHunting版 - 帮发一个同学面G家onsite的面经
Google Onsite (onsite 地点在欧洲,伦敦)
本人 2013 9月毕业的master,在欧洲上学,申请 mountain view Software engineer,
new Grad.
现场提供Chrome book+Google Docs,如果有需要,不必白板
1. 简单的 if n even then n = n/2, if n odd then n = 3*n-1;
终止条件是 n==1
这似乎是一个数学证明上的难题,面试要求只是让我 n总共的 even count 和 odd
count
面试官从一开始就表示会有overflow,并且我们无法知道overflow的上界是多少.
我先无视overflow 条件,写出一般解法
然后接着分析: if n == odd, 3*n + 1 is even, then we can do: n = (3*n+1)/2 =
n + (n+1)/2
发现依然无法解决overflow的问题
然我我建议用BigInteger(面试官提示:you are on the right track). 此时我仍没想
到更好的解法
于... 阅读全帖
w****a
发帖数: 710
20
来自主题: JobHunting版 - 帮发一个同学面G家onsite的面经
Google Onsite (onsite 地点在欧洲,伦敦)
本人 2013 9月毕业的master,在欧洲上学,申请 mountain view Software engineer,
new Grad.
现场提供Chrome book+Google Docs,如果有需要,不必白板
1. 简单的 if n even then n = n/2, if n odd then n = 3*n-1;
终止条件是 n==1
这似乎是一个数学证明上的难题,面试要求只是让我 n总共的 even count 和 odd
count
面试官从一开始就表示会有overflow,并且我们无法知道overflow的上界是多少.
我先无视overflow 条件,写出一般解法
然后接着分析: if n == odd, 3*n + 1 is even, then we can do: n = (3*n+1)/2 =
n + (n+1)/2
发现依然无法解决overflow的问题
然我我建议用BigInteger(面试官提示:you are on the right track). 此时我仍没想
到更好的解法
于... 阅读全帖
f*******7
发帖数: 943
21
之前已经面了三轮电话面试,题目也贴出来了。
本来说的是onsite,结果最后改成了4 轮Skype Interview

[1, 2, 3] => false
[1, 2, 3, 2] => true
[1, 2, 3, 2, 3] => false
[1, 2, 3, 4, 4, 4, 5, 5, 5] => false
Given an integer array, determine whether there exists an element such that
the number of occurrences of the element strictly exceeds the number of
occurrences of any other element.
中间还问了很多细节问题, 比如HashMap, Heap 等
最让我摸不到头脑的问题, heap的两个属性??? 我说了一堆,也没答到点上,最终
的答案是
1) binary tree 构成
2) the relation between the upper level and lower level no... 阅读全帖
t******f
发帖数: 79
22
在找频率最大的的K个ID这种题难道也要求写代码?我以前面试都是讲思路,hash+min
heap,我觉得这个要写代码会很麻烦吧。比说如hash,难道我们要自己先建一个hash表
,还是说你直接用了封装的类诸如hashset之类的。还有比如说用min heap来求前K个最
大值,难道还得让人把min heap实现出来?我觉得不太现实。所以想问你一下他要求的
写代码是要求怎么写?也请其他有经验的同学分享一下。
s*********s
发帖数: 318
23
来自主题: JobHunting版 - Amazon面试题
多谢.能不能详细说一下“给出一些扩展的方法”?
>第三个是SDE,从多个数中找到最大的k个。开始用的是max heap,被指出后,改
>正为min heap。还问了些别的,都不难。
programming perl上好像用quicksort的变形。比min heap快。
s*********s
发帖数: 318
24
来自主题: JobHunting版 - Amazon面试题
多谢.能不能详细说一下“给出一些扩展的方法”?
>第三个是SDE,从多个数中找到最大的k个。开始用的是max heap,被指出后,改
>正为min heap。还问了些别的,都不难。
programming perl上好像用quicksort的变形。比min heap快。
l********n
发帖数: 54
25
来自主题: JobHunting版 - 发几个面经(6) Twitter 电面+onsite
我对楼主TreeMap或者MinHeap & MaxHeap的方案有点疑问。
按我的理解,MaxHeap应该记录Max值的。如果在future的stream price大于heap top的
值,那么更新top.但假设t1的值是20, (t2, 15), (t3, 19),然后t3后的值都小于19。
那么在t1 expire后,max of t3就丢失了。
我能想的用minHeap & maxHeap的情况是用 linked list + heap。linked list 按照时
间顺序insert,当list head expire时候delete。每次insert & delete都fix heap. 不
知道楼主是不是这个意思。
我想到一中方案使用deque.
find max:
(1) 当stream data中一个值v来的时候,不断pop_back queue中所有比v小的。
(2) query max的时候,check queue front的data是否expire, 如果expire pop_front
到12 months内的data,那就是max。有点leetco... 阅读全帖
b****g
发帖数: 192
26
来自主题: JobHunting版 - 面试题
赞同,用BFS再加上一个heap保存当前最小值,就是O(mn lgk)。
BFS就是从左上角开始,bfs相同的值,一旦不同就终止此分支,把这个不同的值打入
min-heap。下次bfs从这个min-heap所存的最小值开始。
如此循环。
K最大就是m+n吧?没仔细想。
f*******b
发帖数: 520
27
来自主题: JobHunting版 - 贡献A 家online assement
Problem 3:
Using Min heap:
1. Create a pair list(key:distance;value:coordinate). O(n)
2. Build a Min heap based on key. O(n)
3. Get values of the first Ks of key from Min heap. O(K)
Time complexity: O(n)
f*****2
发帖数: 10
28
来自主题: JobHunting版 - 找第K个最小的元素
我要是面人,觉得答出这个也就行了。这个hirING Bar是有点高。
提过用heap, 不过还没说完就给直接否定了。显然不是他想要的,应该还有最优的,
可能是分治,某种分治。
你说的这个大致是 O(K*logK)time, O(K) space, for the heap of size K.
讨论讨论K相对M的情况。。。有没有新点子。
==
我说的就这个方法。面试的时候这个方法就够用了,如果有更好的当然是bonus,这个
都没给出来就想更fancy的方法就不合适了。

把N
heap
g*********e
发帖数: 14401
29
来自主题: JobHunting版 - 周末上道题
一个heap不就可以了吗?
另外为啥是minheap? 我一直分不清max heap min heap哪个存最大数
g***j
发帖数: 1275
30
来自主题: JobHunting版 - 今天的一个面试题目
给一个stream of int,求当前的median
我给的答案是,用两个heap,一个min heap,一个max heap,然后keep 这两个size差
别在1以内,这样median就是两个root的某一个或者是平均值
这个题目以前没有做过,后来写code有点卡壳,还好前面写了一堆code了
哪个大侠给个code参考一下?
l****1
发帖数: 33
31
来自主题: JobHunting版 - 今天的一个面试题目
思路就是两个heap, max heap存放当前stream的half 较小数据, min heap
是当前stream的half较大数据。
实现不难,不过看要求了,有些细节需要考虑。
hackerrank上有这个的变种,稍难一些。
s********u
发帖数: 1109
32
来自主题: JobHunting版 - G家电面的两个题
好像不是要记录多少时间内的url长度吧,跟时间好像没啥关系啊,只是说按长度靠前
的95%。
我在想弄两个堆怎么样,一个95%的min heap,一个5%的max heap。插入的时候比较两
边的头,然后注意balance?然后min heap可以记录节点数量以及当前的平均。
s*****n
发帖数: 994
33
来自主题: JobHunting版 - G家电面的两个题
一个min heap存5%较长的,一个max heap存95%较短的
新入的URL,先判断max heap是否需要加element,如果要,max_heap.add ( min(new_
URL, min_heap.top()) ), min_heap.add ( max(new_URL, min_heap.top()) )。如果
不要,比较max_heap.top()和new_URL是否要交换,min_heap再插入不要的那个

5%
a*******o
发帖数: 67
34
来自主题: JobHunting版 - 求问一道MS面试题
有100BILLION的数据分散存储在很多机器中,各个机器都没有SORT, 现在要得到其TOP1
BILLION数据,要怎么办?
我大概回答了一个像QUICK SORT一样的方法,选一个RANDOM的数,然后所有机器对这个
数PARTITION,然后如果根据结果对大于或者小于这个数的那部分数据,找一个新的数
重新PARTITION
然后面试官貌似不满意
然后我说了用一个HEAP储存TOP 1BILLION的数据。。然后有新数据比HEAP最小的小就塞
进去。。还是不行。。这个我后来想想确实觉得也不行,因为存储1BILLION数据的HEAP
要求太大了。
这题还有什么其他好的方法吗?
s********u
发帖数: 1109
35
来自主题: JobHunting版 - Marvell码工screen面经
最近面试比较多一点,就攒个rp。
是embedded相关的SDE职位,都是linkedin上投的。没有提前约,一个engineer直接打
来电话,第二句就直接中文了。
大致问了下简历,问了些基础问题,比如IRQ,thread和process的区别,单核的话多线
程怎么运作(我答是分时),最后问stack和heap在系统层面的意义,我理解有问题,
答的不太好,我一直以为函数调用函数,就是形成stack,然后函数里声明的变量是放
在heap上,其实只有手动分配空间的,才会放heap。
希望有下一轮,他家当然不hot,但听说中国人多比较爽。
我感觉投不是最top的公司,不妨都试试简历,经历不太符合也无所谓,至少能热身一
下。
s**x
发帖数: 7506
36
来自主题: JobHunting版 - G电面的一个题
you are right.
see update #26 in http://www.mitbbs.com/article_t1/JobHunting/32569901_0_2.html.
initially I thought they want the volume sum.
for volume max, looks like you need to maintain a max heap or a BST when you
are scanning the endpoints.
the problem for max heap is that it is a little tricky to remove the
endpoint element from the heap.
For balanced BST, you can find the max and remove an element with O(logn),
so not bad.
l*n
发帖数: 529
37
来自主题: JobHunting版 - G电面的一个题
heap的内容是可以删的。java library的heap 任意节点的删除是O(n),但是自己写
heap可以做到O(logn)的删除。
l*n
发帖数: 529
38
来自主题: JobHunting版 - G电面的一个题
建一个map来记录heap中节点的index,然后在heap的sift操作中节点互换时更新map的
内容。最后删除heap节点时,把最后一个节点放到删除的位置然后做一次sift操作。
s**x
发帖数: 7506
39
来自主题: JobHunting版 - G电面的一个题
you are right.
see update #26 in http://www.mitbbs.com/article_t1/JobHunting/32569901_0_2.html.
initially I thought they want the volume sum.
for volume max, looks like you need to maintain a max heap or a BST when you
are scanning the endpoints.
the problem for max heap is that it is a little tricky to remove the
endpoint element from the heap.
For balanced BST, you can find the max and remove an element with O(logn),
so not bad.
l*n
发帖数: 529
40
来自主题: JobHunting版 - G电面的一个题
heap的内容是可以删的。java library的heap 任意节点的删除是O(n),但是自己写
heap可以做到O(logn)的删除。
l*n
发帖数: 529
41
来自主题: JobHunting版 - G电面的一个题
建一个map来记录heap中节点的index,然后在heap的sift操作中节点互换时更新map的
内容。最后删除heap节点时,把最后一个节点放到删除的位置然后做一次sift操作。
C**5
发帖数: 202
42
来自主题: JobHunting版 - Microstrategy 最新面试题
1: 设计题 设计国际象棋
2: 数据流的median , 就是那个使用min heap, max heap的方案,
扩展问题: 如果内存有限,无法放入那么大的 heap如何处理?
3: Binary Tree, 转化为双向的linkedlist
4: Longest common substring problem
5: 解释JavaScript Design Patterns: Observer
6: how to create JavaScript Objects
祝各位新年快乐
m****v
发帖数: 88
43
来自主题: JobHunting版 - FLGMO面经
背景:国内最好的技校+美本公立普通学校CS+东海岸比较好的学校CS MS
Amazon和一个湾区大公司的实习 有大量内推
CC150 leetcode过了一遍,题刷的不是很好,不过由于海投,面试经验比较多
Onsite round: Google(内推直接onsite, rej), Facebook(内推,rej), LinkedIn(内
推,offer), Oracle(Target school, offer), Amazon(内推直接onsite,drop),
Microsoft(一轮Campus之后onsite, offer)
Phone/Campus: Dropbox(rej), Pinterest(2nd round rej, 很可惜), TwoSigma(rej,
大师兄内推, 可惜), Goldman Sachs core Strats(rej), Citadel tech(rej), SIG(
drop), TGS(rej), AppNexus(rej, 莫名其妙), Airbnb(drop), EA Games(drop)
Code test: Twitter(re... 阅读全帖
m****v
发帖数: 88
44
来自主题: JobHunting版 - FLGMO面经
背景:国内最好的技校+美本公立普通学校CS+东海岸比较好的学校CS MS
Amazon和一个湾区大公司的实习 有大量内推
CC150 leetcode过了一遍,题刷的不是很好,不过由于海投,面试经验比较多
Onsite round: Google(内推直接onsite, rej), Facebook(内推,rej), LinkedIn(内
推,offer), Oracle(Target school, offer), Amazon(内推直接onsite,drop),
Microsoft(一轮Campus之后onsite, offer)
Phone/Campus: Dropbox(rej), Pinterest(2nd round rej, 很可惜), TwoSigma(rej,
大师兄内推, 可惜), Goldman Sachs core Strats(rej), Citadel tech(rej), SIG(
drop), TGS(rej), AppNexus(rej, 莫名其妙), Airbnb(drop), EA Games(drop)
Code test: Twitter(re... 阅读全帖
J*****a
发帖数: 4262
45
来自主题: JobHunting版 - 报个FB的offer,兼问两个问题
没有特地为FB准备,不变应万变,一样复习的
1)做leetcode oj, 这是最重要的。。。即使面试没有一模一样的题目,但练完100题
之后,写代码的速度、bug的数量都会和练之前有质的不同
另外自己多总结,比如哪些有linear解,哪些是指数复杂度,哪些是DP,哪些用stack
等。
如果思考的再深入些,可以想到更多,比如可以总结出什么样的二维DP一定可以把空间
复杂度由O(n^2)降至O(n)
2)看本版面经,题目一模一样的概率不大,但是看了面经心里踏实,知道大概流程是
怎么回事,题目大概是什么类型
3)对于lc oj没有覆盖的,自己做些功课,列一些我暂时能想起来的:
3a,简单常见的算法,自己写一遍,比如快速排序,merge排序,桶排序,quick
selection等等
3b,对于常用数据结构,虽然c++或java里可以从库直接拿来用,但是自己写一遍这些
数据结构的实现能加深理解,例如hashtable, heap, threadsafeblockingqueue, BST
的插入删除等。
而且有些面试题,你还是要自己写,比如LRU cache里的双向链表什么的,写写基本的
... 阅读全帖
w*******e
发帖数: 395
46
来自主题: JobHunting版 - minMSwap 这题能比O(n^2)更快的解法吗
1. Establish a min heap and the heap contains the index of each element;
2. every time get the min of the remaining array, if m>(index-current
position), put the min into the array, continue step 2 until m<(index-
current position)
3. if m is not enough to move the remaining min to the current position, get
rid of the min in the heap and get the next min until m is enough
the tricky point is how to adjust the index of each element because after
each move the index has been changed.
The complexit... 阅读全帖
z*******3
发帖数: 13709
47
来自主题: JobHunting版 - Java 面试题
看锁所处对象所在的位置
static在method里面
一般obj在heap里面
所以heap会慢一点
但是如果不是操作同一个对象的话
显然heap的快,因为没有并发冲突的问题
这题要确认一下对象本身是否是singleton
s******c
发帖数: 99
48
来自主题: JobHunting版 - 一个cc150里面的题目,不解
最后一步是multi-way merge,这时每一行已经是排好序的,分别取每行的第一个data
(最小),拿到内存里,所以是K个data在内存,只要k < x 就没有问题。整个merge过
程建一个heap,每次找到最小的元素,写到output里,同时最小的元素从哪一行来的,
就从那一行再取下一个元素,然后maintain这个heap,再找到最小的继续写到output。
最后直到这个heap空了为止
p********4
发帖数: 58
49
来自主题: JobHunting版 - 问一个关于c++的很傻的问题,多谢
比如我写了一个class
class A
{
public:
void DoThis();
void DoThat();
}
当我使用它的时候,必须要在heap上产生一个instance吗?
int main()
{
A* test1 = new A(); //
A test2;// 这样也能正常工作,请问本质的区别在哪里,什么时候应该用哪个?我
的理解是一个是在heap上,一个是在stack上,如果不太大,就都可以,如果大,就应
该放在heap上。对吗?
}
另外A* test1 = new A(); 应该尽量用c++11,所以尽量写成如下? 可是我看leetcode网
上的很多答案,都用的老的c++ styple.
auto test1 = make_shared();
q********c
发帖数: 1774
50
来自主题: JobHunting版 - LinkedIn面经(已跪),攒个rp
赞一个,你的水平肯定没问题。请问你是面的那个组,是applications
team还是infrastructure?
另,heap那道题应该用max heap, 因为频率高的都保留在heap里面了。

情况
首页 上页 1 2 3 4 5 6 7 8 9 10 (共10页)