由买买提看人间百态

topics

全部话题 - 话题: nlgn
1 2 3 4 5 6 7 下页 末页 (共7页)
r****e
发帖数: 9
1
来自主题: Computation版 - a question about Theta(nlgn)
find a Theta(nlgn) algrithm that given a set S of n integers and another
integer x, determines whether or not there exist two elements in S whose sum
is exactly x.
I thought it long time, but still no clue. Thanks a lot.
j*******a
发帖数: 61
2
Thanks for all posts. Just want to confirm I understand right, let me repeat
your ideas.
Assume input: 4, -1, 5, 2, 0, -2.
looks for the closest sub array for 3
0 1 2 3 4 5 get sums sort BS for 3
------------------------------------
0 | 4 3 8 10 10 8 n nlgn lgn
1 | -1 4 6 6 4 lgn lgn
2 | 5 7 7 5 lgn lgn
3 | 2 2 0 lgn lgn
4 | 0 -2... 阅读全帖
g***s
发帖数: 3811
3
抛砖引玉一下:
解法一:
这题可以看作是二分图的最大匹配的最小值路径匹配问题。用KM算法可以知道O(N*M)=O
(N^3).
解法二:
分治法。找到两点,把所有点分成两部分,每个部分都用相同多的红点和蓝点。然后对
两部分分治。
如何找到这样的两点(先给一个nlgn的算法)
1. 找x值最小的一个点A(如果有多个x值相同,取y值最小),把它作为其中一点。
2. 把A作为原点。其它所有点对于A(都减去Ax,Ay),都相当会落入第一和第四象限。
3. 把所有点求tan,排序。
4. 从小到大进行count,一直到找到这么一条边(A->B)。(易知一定存在这么一条边)
f(n) = max{ f(k) + f(n-k) + nlgn } k=1..n-1
f(n) = O(nlgn * n) = O(n^2 * lgn)
改进找B点的算法
3. 建立一最大堆,和一最小堆
4. 轮流从最大堆最小堆来进行查找,直到找到B
f(n) = max { f(k) + f(n-k) + (n + k*lgn)} k = 1..n/2
f(n) = O(n^2)
O(nlgn)感觉很难。
g****5
发帖数: 1639
4
对于无序的数列,O(nlgn)就是平均最快的sort。当然能够达到O(nlgn)的sort算法有很
多。对比其他数量级最快的算法,quick sort比heap sort一般O(nlgn)的系数要小,所
以更快。跟merge sort比,不需要征用O(n)的额外内存,所以空间上更有效。
x******3
发帖数: 245
5
来自主题: JobHunting版 - amazon电面 + facebook 电面
可以用以下算法
1. sort the array // O(nlgn)
2. iterate through the array, for each element x, compute k = y - x, binary
search k in the rest of the array. if
found, return x and k; if not found, repeat step 2 on the subarray without x
// O(nlgn)
总时间复杂度O(nlgn), space O(1)
这道题应该是CLRS上的习题
r****o
发帖数: 1950
6
来自主题: JobHunting版 - 问一道google面试题(from careercup)
想了一下,好像可以达到O(nlgn). 假定数组为 a[1]...a[n]。
先排序 O(nlgn)
然后用binary search 找a[i],过程如下:
对于a[mid],如果a[n]+a[n-1]也比T-a[mid]小,说明a[mid]选值过小,故在右半边继续找a[mid];如果a[1]+a[2]也比T-a[mid]大,说明a[mid]选值过大,则应在左半边继续找a[mid],
继续该binary search,一直找到a[mid],使得a[1]+a[2]<=T-a[mid]<=a[n-1]+a[n],
然后可以线性查找出i,j,使得a[i]+a[j]=T-a[mid]。
binary search共需O(lgn)步。线性查找O(n)。
总复杂度还是O(nlgn)。
希望大家对我的想法多提意见。
l*******y
发帖数: 1498
7
quick sort时间依赖于pviot,最好情况下才是nlgn,但是有较好的cache behavior.
heap sort 最差情况下是nlgn,但是heap sort 有很多random access,如果数据是从
high latency的设备上读的话会比较慢。
merge sort最差是nlgn,需要额外的空间(上面2个sort都可以in place完成),也有比较好的cache behavior,还有merge sort更容易parallelize
k*j
发帖数: 153
8
翻出了这个老题,大家来讨论一下。下面是我的答案,不知道对不对,望指点。
http://www.mitbbs.com/article_t1/JobHunting/31848109_0_1.html
1. 两个sorted array, 如果merge成一个array。
O(m+n)
2. 如果这两个array没有sort呢?并分析复杂度。
O(nlgn)+O(n) if(m>n)
3. 如果有K个没有sorted的array怎么办呢?
kO(nlgn)+kO(n)
4. 如果当前机器有K个cpu, 怎么处理问题3呢?复杂度分析。
O(nlgn)+kO(n)
k****n
发帖数: 369
9

wrong, can unsorted array merging faster than sorted ones?
I see, I guess you mean kO(nlgn)+kO(n), but actually should be kO(nlgn)+kn(
lgk)
sort k arrays individually, O(nlgn)
divide & conquer, 2n 1st level, 4n 2nd level, ... kn at root,
lgk levels in total O(kn)
h*******l
发帖数: 22
10
来自主题: JobHunting版 - 新鲜G面筋(Fail)
对静态interval set:(leetcode上的)
排序,nlgn
过一遍, n
动态的(不停有interval 插入)
方法一:
每个新的都插入到正确的位置,lgn
再过一遍,n
结果是n^2 的
方法2:
2.1 假设知道所有end points,比如1--1000000,每个点都是可能的endpoints
根据end point 建segment tree
每个新的插入需要lgn
总共nlgn
2.2 不知道end points
完全动态的segment tree,每次插入需要rebalance (O(1))
修改union lgn
插入endpoints lgn
总共nlgn
这个就比较复杂了, 感觉面试仅停留于静态的就不错了
d******v
发帖数: 801
11
来自主题: JobHunting版 - EE发展前景
能会三种写法就不错了,我上次面试给了O(nlgn)O(nlgn)和O(n)的三种方法,面试官说
我们不需要O(n)这种要求太高了,你能就第二个O(nlgn)那种写法优化一下吗?我说再
优化也不会比方法三O(n)好啊,我直接写方法三吧?"不,方法三要求太高了,你看看
方法二怎么优化?"然后就挂了。
w**********y
发帖数: 1691
12
多谢分享.大概做了做..欢迎补充和指正.
- sqrt(i)=?
e^{\pi/4 i} or - e^{\pi/4 i}
- You and me roll a dice,first one gets a six wins. You roll first. what
is the probability of you winning?
P(I win) = P(Y !win and I win) = 6/11
- A stair of n steps. Each time you step up 1 or 2 steps. How many
different ways are there to reach the top? what is the asymptotic limit?
Fibonacci sequence ..limF(n)/F(n-1)==x for n>2, solve x, and F(n) ~ x^{n-1}
- Moment generating function of standard model.
statistic book…
- Write a si... 阅读全帖
t*******y
发帖数: 637
13
第二题应该是6/11吧
能讲讲这个吗? - X1 and X2 are independent random variable with pdf f and g.
what is what is the pdf of X=X1+X2
Jacobian matrix for X1+X2 and X1-X2..

多谢分享.大概做了做..欢迎补充和指正.
- sqrt(i)=?
e^{\pi/4 i} or - e^{\pi/4 i}
- You and me roll a dice,first one gets a six wins. You roll first. what
is the probability of you winning?
P(I win) = P(Y !win and I win) = 5/6*1/6
- A stair of n steps. Each time you step up 1 or 2 steps. How many
different ways are there to reach the top? what is the asymptotic... 阅读全帖
z***e
发帖数: 5393
14
来自主题: JobHunting版 - 老问题了,网上竟然找不到答案
actually don't need to use b-search, you can make decision while sorting.
find a common number, using quick sort, the firt iteration will divide to:
A: array1, array2
B: array1, array2
if (A.array1.size == B.array1.size && A.array2.size == B.array2.size)
recursively do this until the array size is different.
if A == B, the complexity is at most O(nlgn) (quick sort);
otherwise it's smaller.
so the total complexity <=O(nlgn)
H*M
发帖数: 1268
15
来自主题: JobHunting版 - google面试问题
given an array of n elements, find if there is a subset of 3 elements sum up
to value T with time complexity O(nlgn).
想不出什么天外飞仙的算法达到O(nlgn)
谁有点idea?
k***e
发帖数: 556
16
来自主题: JobHunting版 - Facebook interview 面经
你这样是n^2
更好的是nlgn 有兴趣你可以wiki一下
你运气不错
因为就在前面有人同样的问题 给出n^2没给出nlgn都被拒 好像是ms吧
a*u
发帖数: 97
17
来自主题: JobHunting版 - 请教suffix array的问题
给一个string建立suffix array,然后sort这些substrings,复杂度是多少?O(nlgn)
or O(n^2lgn)?
比如 String "bananna", size n = 7
suffix array
{
banana
anana
nana
ana
na
a
}
after sorting
{
a
ana
anana
banana
na
nana
}
for a string size n, creating the suffix array is O(n), sorting is supposed
to be O(nlgn), but I somehow feel it is O(n^2lgn), since the comparison
between two substrings are O(n).
Where did I miss?
o********r
发帖数: 79
18
来自主题: JobHunting版 - 问一道google面试题(from careercup)
我说一个思路。
不过不是nlgn啊,应该还是N^2
1.sort, nlgn
2. assume a<=b<=c, a+b+c = sum;
这样 a<= sum/3;
c>= sum/3;
c********g
发帖数: 13
19
来自主题: JobHunting版 - Maximum Sum of Increasing Sequence
我的教授说LIS能优化到O(NlgN),但他说的那段我没听懂,后来知道考试不考也就没细
想了。不过我猜这个也应该能优化到O(NlgN)
m*****g
发帖数: 226
20
我的理解,big O 是upper bound
theta O 才是上限和下限
所以O(n+nlgn) = O(nlgn)
对。那个应该是nlgk。这个是我不仔细。
r****o
发帖数: 1950
21
来自主题: JobHunting版 - 自己设计的一道面试题
试着答一下。

就顺序比较吧,每个比较k次,复杂度O(kn)
可以排序,或binary search,或用min heap,复杂度分别是O(nlgn),O(nlgn),O(klgn)
先找出第k1大的元素,再找出第k2大的元素,介于这两者之间的元素就是所求的元素。
复杂度O(k2 lgn)
binary search的方法可能不行了,用排序和min heap应该还可以。
i****d
发帖数: 35
22
来自主题: JobHunting版 - 刚电面完,分享两个题目
借助sum数组
sum[i] = SUM{ a[i] | i = 0~i}
1. i= 0~n-1,计算sum[i]的同时,利用hash_map,以sum[i]为key,记录下sum[i] 和
i的值。这样遇到相同的就说明sum[i] == sum[j], j conflit。O(n)
2. 1)还是计算sum[i]。O(n)
2) 排序,排的时候以sum[i]为key,同时带上下标i。第3)步有用。O(nlgn).
3) 遍历排序后的sum[i]。创建数组min_index,min_index[i] 是 比sum[i]小的元
素中的最小的下标。通过一个临时变量记录并更新这个下标,遍历一遍就可以建立min_
index数组了。 O(n)
4) i = 0~n-1, 对于每个i, 在排序好的sum[i]数组中找 sum[j] 正好 <= sum[i]-
k。那么以a[i]为终点的满足条件的subarray最长的长度就是 i-min_index[i]。通过一
个临时变量max记录并更新这个长度,遍历完就可以知道最大长度了。
总体可以到O(nl... 阅读全帖
m******m
发帖数: 19
23
来自主题: JobHunting版 - 刚电面完,分享两个题目

借助sum数组
sum[i] = SUM{ a[i] | i = 0~i}
1. i= 0~n-1,计算sum[i]的同时,利用hash_map,以sum[i]为key,记录下sum[i] 和
i的值。这样遇到相同的就说明sum[i] == sum[j], j conflit。O(n)
2. 1)还是计算sum[i]。O(n)
2) 排序,排的时候以sum[i]为key,同时带上下标i。第3)步有用。O(nlgn).
3) 遍历排序后的sum[i]。创建数组min_index,min_index[i] 是 比sum[i]小的元
素中的最小的下标。通过一个临时变量记录并更新这个下标,遍历一遍就可以建立min_
index数组了。 O(n)
4) i = 0~n-1, 对于每个i, 在排序好的sum[i]数组中找 sum[j] 正好 <= sum[i]-
k。那么以a[i]为终点的满足条件的subarray最长的长度就是 i-min_index[i]。通过一
... 阅读全帖
g***s
发帖数: 3811
24
来自主题: JobHunting版 - 问道难的scheduling问题
*步骤2需要改成如果已经参加过一次,取最后一天。否则取两天。
否则,反例 (1,2)(2,4)
* 单步步骤3不能在O(1)时间内完成。但需要证明所有第3步的总时间可以在总时
间O(n)时间内
完成(具体算法也稍微麻烦一些)。
不过,既然排序已经用了O(nlgn),这里单步简单的用O(lgn)也就行了。总时间
反正都是O
(nlgn).
除非,参加的人数n>>总天数。那么,可以找到排序的算法是O(n)。那么这题总时
间复杂度才可能是
O(n)
g***s
发帖数: 3811
25
来自主题: JobHunting版 - 问个算法题5
不明白会了O(n)为啥还要找O(nlgn)的?除非你是老师,要教学生。
否则,你就用O(n)的算出来,得到结果你再做一遍无用的排序,这样就把算法拉到
nlgn了。 :)
m**q
发帖数: 189
26
来自主题: JobHunting版 - 问一道题(2)
假设每个任务开始结束为start[i], end[i],对应的权值为a[i],
先把数组按start[i]排序,设从i...n的工作中,总的最大权值为f[i],则:
f[i] = max { f[i+1], a[i] + f[k]: k是i之后和i不冲突的第一个元素 }
排序O(nlgn),遍历a[]数组O(n),对每个元素i用二分法找对应的k,O(lgn),
总复杂度为O(nlgn)。
这个方法对不?

O(
m**q
发帖数: 189
27
来自主题: JobHunting版 - 尘埃落定里面的矩形题
我的思路和你类似,不过我觉得每取完一个元素后要把这个元素排除,
这样才能保证第i个被选择概率和score(i)成比例
最简单的实现是每次把取过的元素swap到数组前面,复杂度应该是O(kn)
一个可能的优化的方法是组织成一个顺序统计树,每个节点不是存它的子树的
子节点数,而是存它的子树的score的和,这样每次生成随机数可以用
O(lgn)找到对应节点,选k个数复杂度为O(klgn)。生成树应该需要O(nlgn)。
总复杂度O(nlgn),如果k是O(n)的话这个方法更优
求指正

是(
m**q
发帖数: 189
28
来自主题: JobHunting版 - 尘埃落定里面的矩形题
思路大概是这样的
因为所有矩形的底边都在x轴上,把每个矩形的左上角和右上角的坐标记录到
一个数组中,每个元素是 pair, int start>,每个矩形
在数组中有两个元素,代表左右两条边,start为1表示开始,为0表示结束。
比如,一个矩形的x轴开始坐标为x1,结束坐标为x2,高为y,则在数组中它
对应的两个元素是 <, 1>, <, 0>
可知n个矩阵生成的数组中有2n个元素,然后sort数组,复杂度O(nlgn)
然后用sweepling line algorithm,扫描数组,用一个BST记录当前
overlapping的所有矩形。
遇到矩形的左边时(start==1),判断边的高度(即当前y值)是否大于BST中
的最大高度,大于则记录两个点,(当前x值,BST中最大高度),
(当前x值,当前y值)。把当前y值放入BST
遇到矩形的右边时(start==0),把当前y值从BST中删除,如果BST有相同值只删除
一个。判断边的高度(即当前y值)是否大于当前BST中的最大高度,大于则
记录两个点,(当前x值,当前y值... 阅读全帖
s****j
发帖数: 67
29
来自主题: JobHunting版 - 几道老题 的解答
平面最近点对那题,提供一种方法供参考,该方法看似复杂度o(n^2),但实际使用中几
乎是o(n)(不算nlgn排序的预处理)。主要是利用了三角形两边之差小于第三边的性质
,大大减枝。另外该方法实现简单,比传统o(nlgn)的实现简单很多也直观很多。
代码如下:
#include
#include
#include
#include
#include
using namespace std;
const int maxn=100005;
const double eps=1e-8;
struct Point
{
double x,y,dis;
} p[maxn];
int n;
bool cmpp(const Point &p1,const Point &p2)
{
return p1.dis }
void solve()
{
sort(p,p+n,cmpp);
double ans=1e18,now;
int i,j;
for (i=0;i阅读全帖
m**q
发帖数: 189
30
来自主题: JobHunting版 - 问几道算法题
第一题可以用部分和的方法,先算出a[0]~a[i] (0<=i 放在数组b[]中,同时把对应的i值记录下来,就是说b数组每个元素是一个
结构,包含a[0]~a[i]的部分和以及对应的i值;然后根据部分和的值sort b数组,
用两个指针指向b数组开头,递增前指针直到前后指针指向的元素的部分和字段的
差值大于或等于MaxSum,然后递增后指针直到两指针指向元素的部分和字段的差
小于或等于MaxSum,在此过程中只要前后指针指向元素的部分和字段差值小于
等于MaxSum时就计算前后指针指向元素的i值字段的差值,并更新最大差值。
算部分和O(n), sort b数组 O(nlgn), 前后指针遍历数组b O(n),总时间O(nlgn)。
z****u
发帖数: 104
31
来自主题: JobHunting版 - 请教一道面试题
先排序,时间 O(nlgn),空间 O(n) 都可以做到
排序之后,再搜索可能的 pair,从首尾两端扫描,永远不用回头扫,所以时间应该是
O(n)
这样总共的时间是 O(nlgn),空间 depends,但不会超过 O(n)
m***o
发帖数: 41
32
来自主题: JobHunting版 - 请教一道面试题
排序o(nlgn)+搜索0(n)= o(nlgn)? 好像不是很优的办法吧

H***e
发帖数: 476
33
来自主题: JobHunting版 - 收到据信了,随便写点
sigh
"build heap O(n), 他非说是O(nlgn)"
碰到这种真的没有办法勒, 只好跟他详细解释下,什么情况下(元素已知)可以o(n),
然后表示理解他说的nlgn
H***e
发帖数: 476
34
来自主题: JobHunting版 - A家2面经。已经被句。。
有很多题都是这样的吧
比如那个longest increasing sequence问题 nlgn
能当时想出来我觉得都是天才了
可是有些面试官就是要求nlgn
b*****n
发帖数: 482
35
my 2 cents:
It seems O(n) is not possible, should be at least O(nlgn). Worst case
scenario, all the numbers belong to their own group, meaning no two numbers
are consecutive. Then each number has to be compared with existing group to
find out whether it belongs to them or has to be in a new group of his own.
Anything based on comparison like this has a low bound of O(nlgn). Of course
, if the storage can be O(Max), then O(n) time can be realized, similar to
the counting algorithm.
a******a
发帖数: 2646
36
来自主题: JobHunting版 - 算法题
应该有nlgn 算法
struct person
{ start time
end time
}
读入person
按start time binary排序,是 nlgn
如果重叠,修改
struct, 另
person.start =min
person.end =max
合并成为一个记录。
m***n
发帖数: 2154
37
来自主题: JobHunting版 - 讨论下找两个元素和为0的题延伸
2个的话,直接hashtable O(N),先排序,然后再left--> , <---right 操作O(N)+O(
NlgN)
3个的话,直接先排序NlgN, 然后求a+b=-c 对每一个元素做a+b=x操作 N^2
4个的话,也是排序,然后a+b+c=-d ,用前一步算法 N^3
....
h********o
发帖数: 14
38
来自主题: JobHunting版 - Leet Code, three sum closest
我做的跟 3sum 是一个复杂度 O(n^2); 做法也跟 3sum差不错。
1.先sort 数组S,O(nlgn);
2. 使用三个下标 i (当前下标) f(头下标) t(尾下标)
i 从0 到 n-1 遍历 // n 是数组长度
对于每一个i, 设置 f = i+1, t = n-1,
计算 sum = S[i] + S[f] + S[t], 如果比之前的sum更接近,更新。
然后,如果sum 比target 小 , f++, 否则 t--
对于每一个 i ,以上操作循环至 f>= t, 所以每一个 i 要遍历数组一遍
最终, 第2步的复杂度是 O(n^2)>O(nlgn), 所以这个算法复杂度也是O(n^2)
D**********d
发帖数: 849
39
来自主题: JobHunting版 - G/F面经
可以先按 x axis 排序(假设升序),然后查 y 是否有降序的。
总共是 O(nlgn) + O(n) = O(nlgn)
b***u
发帖数: 61
40
来自主题: JobHunting版 - g 两轮店面面经 失败告终
算法书上讲的
h >= lg(n!)
>=lg((n/e)^n)
=nlg(n) - nlg(e)
=omega(nlgn)
所以对于任何一个基于比较的排序算法run time至少是nlgn
A******g
发帖数: 612
41
来自主题: JobHunting版 - 讨论,careercup150 的1.3
in place 删除 string里重复的字符。
书上给的算法是3 pointer, O(N^2)
我想,如果先in place quick sort, O(NlgN) 然后用delete duplicates from sorted
array 的方法 O(N)
是不是可以做到O(N+NlgN)呢?
d*s
发帖数: 699
42
来自主题: JobHunting版 - 弱问一道G家电面题
把所有句子用向量表示之后可以用n-dimensional all nearest neighbohr search,
nlgn
搜索过程中记录下最近的一对就可以了。总共的操作耗时O(m*n + nlgn),应该是最优了
http://link.springer.com/article/10.1007%2FBF02187718
不过我不认为普通青年可以在面试时间内把这个算法做完。。。
c*********m
发帖数: 43
43
来自主题: JobHunting版 - 一道rf的面试题
一堆racer,每个racer有出发时间和到达时间,计算每个racer的score,规则如下
:score = 所有出发比自己晚但是到达比自己早的racer数量之和,(所有的出发时间
和到达时间没有重复的)要求时间复杂度o(nlgn).
这题什么思路呢?interval tree? nlgn的想法想不到啊。
D**********d
发帖数: 849
44
来自主题: JobHunting版 - 请教亚麻一道onsite面试题
我想到的是 O(nlgn) 区间合并问题:
1. sort 所有端点 O(nlgn).
2. 扫描所有端点一次 O(n) 左正右负.
s********0
发帖数: 34
45
来自主题: JobHunting版 - 一道面试题的优化
一个数组只有1,0 元素,找出所有连续区间的数目, 满足该区间1的个数>=0的数目。
比如a:[1, 0, 1, 0, 0, 1]
结果为11: (3+4+1+2+1)
[1], [1], [1], =>3
[1, 0], [0, 1], [1, 0], [0, 1], =>4
[1, 0, 1], =>1
[1, 0, 1, 0], [1, 0, 0, 1], =>2
[1, 0, 1, 0, 0, 1] => 1
要求复杂度 nlgn.
O(n^2)的复杂度比较容易想,0置换成-1,然后求前缀和数组sum。
nlgn我是这么想的:
还是0换成-1,还是求前缀数组,然后对每个sum[i]求 前面小于等于它的个数,这步可
以二分。
比如某一步的时候 sum = 0 有1个, sum = 1 有2个, sum =2 有3个,
则sum <= 0: 1个, sum <= 1: 3个, sum <= 2: 6个 这个是单调递增的
维护这个单调队列 可以用树状数组
觉得实现起来有点麻烦,请教有别的方法没?thanks
o******1
发帖数: 1046
46
来自主题: Programming版 - 最小Manhattan距离
曼哈顿距离跟是不是整数无关,只跟相对位置有关。这类题一般还要假设没有相等的坐
标。
如果是一维的,最优算法是O(N)。因为不需要sort整个数列,只要找到第(N+1)/2个数
(if N is odd),或者找到floor(N+1)和ceiling(N+1)(if N is even)。
但是如果是2维或者更高维的,最优算法应该是O(NlgN),因为不能事先确定最小距离点
的位置,所以必须把两个或者更多个维度的距离加起来,每个维度的距离的复杂度都是
(NlgN)。
要是面试官跟你说二维问题的复杂度也是O(N)的话,一定是忽悠你了。
c*****m
发帖数: 1160
47
来自主题: Programming版 - 问一下:怎么算复杂度?
比如说,一段程序,没有调用子函数,有一个循环 for i=1 to 1000,那么复杂度应该
是 O(1)啰;
如果循环是 for i=1 to n, 那么复杂度应该是 O(n)?
现在问题是:在这个循环里(没有子函数)用了一个dict , python里的词典:
for i=1 to n
value=d[key]
这个dict的查询, 不是数组的直接access,应该最快也是sort算法的 O(nlgn)吧? 那
么这段程序是否成了 O(n*nlgn)?
i**w
发帖数: 71
48
背景:fresh physics PhD
还没offer,但年前基本上不会再折腾了。
有重复。基本上都是很标准的题。
简单的题如果人家想问倒你也是很容易的。
面试书recruiter推荐
1) Mark Joshi: "Quant Job Interviews: Questions and Answers". I have
heard very good things about this book.
2) Xinfeng Zhou, "A Practical Guide to Quantitative Finance Interviews"
个人觉得非常有用, 大部分问题都在这两本上。
算法,C++, stochastic calculus 就看比较标准的几本。
- sqrt(i)=?
- You and me roll a dice,first one gets a six wins. You roll first. what
is the probability of you winning?
- A stair of n steps. Each time you st... 阅读全帖
H*******1
发帖数: 242
49
来自主题: DataSciences版 - 平面上的点配对问题
G(V,E) where |V| = n as points, E = {(u,v)| dist(u,v) <= k}
Now what you are looking at are matchings, so just apply Edmonds' algorithm.
O(\sqrt(V) * E). Since the G is a unit disk graph here, you may be able to
improve the algorithm, google or wait till DaNiu post an answer.
For finding the smallest k, there are probably smarter ways, but a 糙快猛
practical solution could be:
Find d = closest pair distance O(nlgn)
Find D = farthest pair distance O(nlgn)
Binary Search on [d, D] O(lg(D-d) * \sqrt(V)... 阅读全帖
g*******y
发帖数: 1930
50
来自主题: JobHunting版 - careercup上看的一道题
Google » Algorithm
Algo on November 09, 2009 | Question #245697 (Report Dup) | Edit | History
given an array of n elements, find if there is a subset of 3 elements sum up
to value T with time complexity O(nlgn).
想知道这个是否有可能做到。我怎么觉得做到O(n^2)就没法提高了
1 2 3 4 5 6 7 下页 末页 (共7页)