由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - G家电面,已挂
相关主题
请教一道题:skylineamazon面经,已挂。
是时候搞EPI了a d d e p a r面经, 目测已挂
G家电面(已挂)Linked电面分享,挺好的题 应该已挂
发bloomberg面经 [电面,目测已挂,赞人品][已挂]亚麻sde coding test screen题目及吐槽
臭名昭著的skyline问题F昂赛面经,已挂
发G店面面经(已挂),为即将到来的onsite求blessFB data scientist 一面面经(已挂)
bloomberg intern 面经,已挂,求板上诸位大神refer个intern报个上周L家的onsite,已挂。继续为第6个onsite准备
bloomberg已挂亚麻面筋--已挂
相关话题的讨论汇总
话题: vol话题: int话题: max话题: interval话题: end
进入JobHunting版参与讨论
1 (共1页)
a******e
发帖数: 710
1
面试官有东南亚口音
第一题是leetcode原题,大数+1
第二题是这样的:
n个Speaker,S1, S2, ...Sn
每个Speaker在不同的时间段有不同的音量如:
S1: {[2,5], vol=10}, {[6,10], vol=2}, ...
S2: {[1,6], vol=1}, {[8,12], vol=8}, ...
...
请输出每个时间段及这个时间段内最大的音量
比如,只有S1和S2的话,输出就是
[1,2],vol=1, [2,5], vol=10, [5,6], vol = 1, [6,8], vol = 2, [8,12], vol = 8.
他让想算法,给出伪码。我说最简单的方法就是S1和S2先合并,然后再和S3合并,以此
类推。
他说可以,那写一下伪码吧。 我写的时候发现case太多,结果没有写完。 今天收听到
消息,说挂了。
z*********8
发帖数: 2070
2
第二题不能用额外空间吗?
不得不赞一下G的面试, 总是有新题涌出
a***m
发帖数: 5037
3
第二题这样行吗:
一个数组, index 为单位时间
各个 speaker 的 各个时段volume都累加到这个数组
最后对数组按音量分段

【在 a******e 的大作中提到】
: 面试官有东南亚口音
: 第一题是leetcode原题,大数+1
: 第二题是这样的:
: n个Speaker,S1, S2, ...Sn
: 每个Speaker在不同的时间段有不同的音量如:
: S1: {[2,5], vol=10}, {[6,10], vol=2}, ...
: S2: {[1,6], vol=1}, {[8,12], vol=8}, ...
: ...
: 请输出每个时间段及这个时间段内最大的音量
: 比如,只有S1和S2的话,输出就是

d**********x
发帖数: 4083
4
should be...
not that hard...

【在 z*********8 的大作中提到】
: 第二题不能用额外空间吗?
: 不得不赞一下G的面试, 总是有新题涌出

d**********x
发帖数: 4083
5
no. you need to make it better 'discreted' so it will lead you to the
segment tree solution.
otherwise, consider a interval like [1, INT_MAX]

【在 a***m 的大作中提到】
: 第二题这样行吗:
: 一个数组, index 为单位时间
: 各个 speaker 的 各个时段volume都累加到这个数组
: 最后对数组按音量分段

h****y
发帖数: 137
6
这个不是新题了吧, EPI上的原题,
可以divide and conquer
也可以先排序, 从左往右scan, 同时maintain一个BST
两种都是nlog(n)

【在 z*********8 的大作中提到】
: 第二题不能用额外空间吗?
: 不得不赞一下G的面试, 总是有新题涌出

e****s
发帖数: 46
7
什么是EPI?
h****y
发帖数: 137
8
elements of programming interview

【在 e****s 的大作中提到】
: 什么是EPI?
n****e
发帖数: 678
9
能具体说说是leetcode的哪道题吗? 不太明白“大数+1”的意思。

【在 a******e 的大作中提到】
: 面试官有东南亚口音
: 第一题是leetcode原题,大数+1
: 第二题是这样的:
: n个Speaker,S1, S2, ...Sn
: 每个Speaker在不同的时间段有不同的音量如:
: S1: {[2,5], vol=10}, {[6,10], vol=2}, ...
: S2: {[1,6], vol=1}, {[8,12], vol=8}, ...
: ...
: 请输出每个时间段及这个时间段内最大的音量
: 比如,只有S1和S2的话,输出就是

e*******s
发帖数: 1979
10
就是考了大数

【在 n****e 的大作中提到】
: 能具体说说是leetcode的哪道题吗? 不太明白“大数+1”的意思。
相关主题
发G店面面经(已挂),为即将到来的onsite求blessamazon面经,已挂。
bloomberg intern 面经,已挂,求板上诸位大神refer个interna d d e p a r面经, 目测已挂
bloomberg已挂Linked电面分享,挺好的题 应该已挂
进入JobHunting版参与讨论
n****e
发帖数: 678
11
能给个leetcode 大数题的连接吗?
做了leetcode这么久,还不知道哪道题是大数。。。。

【在 e*******s 的大作中提到】
: 就是考了大数
v*****n
发帖数: 22
12
能不能展开说说,或者给个链接?
谢谢。

【在 h****y 的大作中提到】
: 这个不是新题了吧, EPI上的原题,
: 可以divide and conquer
: 也可以先排序, 从左往右scan, 同时maintain一个BST
: 两种都是nlog(n)

s********u
发帖数: 1109
13
颜色那题么,好像看着有点差别。

【在 h****y 的大作中提到】
: 这个不是新题了吧, EPI上的原题,
: 可以divide and conquer
: 也可以先排序, 从左往右scan, 同时maintain一个BST
: 两种都是nlog(n)

d**********x
发帖数: 4083
14
the basic idea is the same. convert each segment into 2 events, sort and
maintain some states

【在 s********u 的大作中提到】
: 颜色那题么,好像看着有点差别。
r*******n
发帖数: 3020
15
去leetcode 搜 plus one那道题

【在 n****e 的大作中提到】
: 能给个leetcode 大数题的连接吗?
: 做了leetcode这么久,还不知道哪道题是大数。。。。

D**********d
发帖数: 849
16
第二道 是 interval 相加,O(nlgn)
具体做法是:
用 map 将所有端点排序, 其中右端的 volume 为负值,然后扫描 map
一遍即可.
n****e
发帖数: 678
17
多谢,知道了!
plus one和大数相加没有什么关系啊

【在 r*******n 的大作中提到】
: 去leetcode 搜 plus one那道题
w*******e
发帖数: 395
18
第二题:
1.先找出最小最大的时间值,设置一个数组,每个element代表一个单位时间内的max vol
2.填满这个数组
3,扫描这个数组,当值跳变的时候,就增加一个时间段
这道题目如果follow leetcode上merge interval的思路,肯定会非常麻烦
复杂度是O(mn),n是S的个数,m是时间段的长度

【在 a******e 的大作中提到】
: 面试官有东南亚口音
: 第一题是leetcode原题,大数+1
: 第二题是这样的:
: n个Speaker,S1, S2, ...Sn
: 每个Speaker在不同的时间段有不同的音量如:
: S1: {[2,5], vol=10}, {[6,10], vol=2}, ...
: S2: {[1,6], vol=1}, {[8,12], vol=8}, ...
: ...
: 请输出每个时间段及这个时间段内最大的音量
: 比如,只有S1和S2的话,输出就是

d**********x
发帖数: 4083
19
S1: {[0, 222233333], vol=1};

vol

【在 w*******e 的大作中提到】
: 第二题:
: 1.先找出最小最大的时间值,设置一个数组,每个element代表一个单位时间内的max vol
: 2.填满这个数组
: 3,扫描这个数组,当值跳变的时候,就增加一个时间段
: 这道题目如果follow leetcode上merge interval的思路,肯定会非常麻烦
: 复杂度是O(mn),n是S的个数,m是时间段的长度

w*******e
发帖数: 395
20
if coding in interviews, start from the simplest cases. Then, at least, you
can finish the coding. Then tell the interviewers the cases your codes
cannot cover and try to optimize it.
if you tell them a very complicate algorithm which covers a lot of cases,
you will get into a trap and cannot finish the codes. Then the result will
be a rejection.

【在 d**********x 的大作中提到】
: S1: {[0, 222233333], vol=1};
:
: vol

相关主题
[已挂]亚麻sde coding test screen题目及吐槽报个上周L家的onsite,已挂。继续为第6个onsite准备
F昂赛面经,已挂亚麻面筋--已挂
FB data scientist 一面面经(已挂)Uber 电面 (已挂)
进入JobHunting版参与讨论
d**********x
发帖数: 4083
21
but not one that unacceptable. :)

you

【在 w*******e 的大作中提到】
: if coding in interviews, start from the simplest cases. Then, at least, you
: can finish the coding. Then tell the interviewers the cases your codes
: cannot cover and try to optimize it.
: if you tell them a very complicate algorithm which covers a lot of cases,
: you will get into a trap and cannot finish the codes. Then the result will
: be a rejection.

g*********e
发帖数: 14401
22

第二题就是skyline problem吧

【在 a******e 的大作中提到】
: 面试官有东南亚口音
: 第一题是leetcode原题,大数+1
: 第二题是这样的:
: n个Speaker,S1, S2, ...Sn
: 每个Speaker在不同的时间段有不同的音量如:
: S1: {[2,5], vol=10}, {[6,10], vol=2}, ...
: S2: {[1,6], vol=1}, {[8,12], vol=8}, ...
: ...
: 请输出每个时间段及这个时间段内最大的音量
: 比如,只有S1和S2的话,输出就是

f********x
发帖数: 2086
23
第二题
每次取出每个队列的head,然后提取区间(分隔最前端可以确定的几轮and保留剩下的
区间),直到某个head的区间用完,取入其head的下一个
这思路和merge n sorted list一个感觉,变成merge n sorted interval了
貌似可行
f********x
发帖数: 2086
24

自己仔细想了想,实现起来还是很麻烦,但是感觉依然可行
大牛快给点建议

【在 f********x 的大作中提到】
: 第二题
: 每次取出每个队列的head,然后提取区间(分隔最前端可以确定的几轮and保留剩下的
: 区间),直到某个head的区间用完,取入其head的下一个
: 这思路和merge n sorted list一个感觉,变成merge n sorted interval了
: 貌似可行

w*******e
发帖数: 395
25
typdef struct {
int start, end;
int vol;
} Interval;
vector > findMaxVol(vector > &S) {
int n = S.size();
vector > ret;
if(n==0) return ret;
if(n==1) return S[0];
vector index(n, 0);
int start=S[0][0].start, end=S[0][0].end;
int max_vol = 0;
for(int i=0; i if(start>S[i][0].start) start = S[i][0].start;
}
int finish_cnt = 0;
while(finish_cnt for(int i=0; i if(index[i] index[i]++;
if(index[i]==S[i].size()) finish_cnt++;
}
if(index[i]>=S[i].size()) continue;
if(S[i][index[i]].end if(max_vol }
Interval ntvl;
ntvl.start = start;
ntvl.end = end;
ntvl.vo;l = max_vol;
ret.push_back(ntvl);
max_vol = 0;
start = end;
end = INT_MAX;
}
return ret;
}

【在 d**********x 的大作中提到】
: S1: {[0, 222233333], vol=1};
:
: vol

n****e
发帖数: 678
26
Exactly
Skyline 的解法貌似是(没记错的话):
把所有的turning points 放在一起,根据coordination从小到大sort 。
struct turnpoint {
int ptr; //coordinate;
bool startOrEnd;
int volume
}
再用max-heap, 把所有的turning points扫一遍,遇到start turning point, 把
volume放入max-heap. 遇到end turning point,把对应的volume从max-heap中取出。
max-heap的max 值就是对应区间的最大volume
complexity是O(nlogn)
max-heap可以用multiset实现。

【在 g*********e 的大作中提到】
:
: 第二题就是skyline problem吧

a******e
发帖数: 710
27
本来是这么想的。
写的时候想写两个speaker的case, 但即使是这样也比merge interval复杂很多,于是
就挂了。。。

you

【在 w*******e 的大作中提到】
: if coding in interviews, start from the simplest cases. Then, at least, you
: can finish the coding. Then tell the interviewers the cases your codes
: cannot cover and try to optimize it.
: if you tell them a very complicate algorithm which covers a lot of cases,
: you will get into a trap and cannot finish the codes. Then the result will
: be a rejection.

g*********e
发帖数: 14401
28


multiset用来做maxheap貌似不错!
不知道heap在stil里标准的data structure是什么

【在 n****e 的大作中提到】
: Exactly
: Skyline 的解法貌似是(没记错的话):
: 把所有的turning points 放在一起,根据coordination从小到大sort 。
: struct turnpoint {
: int ptr; //coordinate;
: bool startOrEnd;
: int volume
: }
: 再用max-heap, 把所有的turning points扫一遍,遇到start turning point, 把
: volume放入max-heap. 遇到end turning point,把对应的volume从max-heap中取出。

n****e
发帖数: 678
29
C++ STL 里面有:
std::make_heap, std::pop_heap, std::push_heap, std::sort_heap
很少用到
f******p
发帖数: 173
30
不是accumulated volume是max volume.
不过赞思路,学习。

map

【在 D**********d 的大作中提到】
: 第二道 是 interval 相加,O(nlgn)
: 具体做法是:
: 用 map 将所有端点排序, 其中右端的 volume 为负值,然后扫描 map
: 一遍即可.

相关主题
G家面经(已挂)是时候搞EPI了
zenefits店面(已挂)G家电面(已挂)
请教一道题:skyline发bloomberg面经 [电面,目测已挂,赞人品]
进入JobHunting版参与讨论
z***n
发帖数: 2890
31


【在 d**********x 的大作中提到】
: the basic idea is the same. convert each segment into 2 events, sort and
: maintain some states

d***n
发帖数: 832
32
这个不work,不信找个输入走一遍



【在 n****e 的大作中提到】
: Exactly
: Skyline 的解法貌似是(没记错的话):
: 把所有的turning points 放在一起,根据coordination从小到大sort 。
: struct turnpoint {
: int ptr; //coordinate;
: bool startOrEnd;
: int volume
: }
: 再用max-heap, 把所有的turning points扫一遍,遇到start turning point, 把
: volume放入max-heap. 遇到end turning point,把对应的volume从max-heap中取出。

l*n
发帖数: 529
33
即便不work,也应该是你来走一遍来说明如何简单的输入都不work。
何况,该solution works。虽然很多地方拿skyline problem做divide & conquer的例
子,但那样并不意味着别的思路就行不通。

【在 d***n 的大作中提到】
: 这个不work,不信找个输入走一遍
:
: 。

c********p
发帖数: 1969
34
mark
a******e
发帖数: 710
35
面试官有东南亚口音
第一题是leetcode原题,大数+1
第二题是这样的:
n个Speaker,S1, S2, ...Sn
每个Speaker在不同的时间段有不同的音量如:
S1: {[2,5], vol=10}, {[6,10], vol=2}, ...
S2: {[1,6], vol=1}, {[8,12], vol=8}, ...
...
请输出每个时间段及这个时间段内最大的音量
比如,只有S1和S2的话,输出就是
[1,2],vol=1, [2,5], vol=10, [5,6], vol = 1, [6,8], vol = 2, [8,12], vol = 8.
他让想算法,给出伪码。我说最简单的方法就是S1和S2先合并,然后再和S3合并,以此
类推。
他说可以,那写一下伪码吧。 我写的时候发现case太多,结果没有写完。 今天收听到
消息,说挂了。
z*********8
发帖数: 2070
36
第二题不能用额外空间吗?
不得不赞一下G的面试, 总是有新题涌出
a***m
发帖数: 5037
37
第二题这样行吗:
一个数组, index 为单位时间
各个 speaker 的 各个时段volume都累加到这个数组
最后对数组按音量分段

【在 a******e 的大作中提到】
: 面试官有东南亚口音
: 第一题是leetcode原题,大数+1
: 第二题是这样的:
: n个Speaker,S1, S2, ...Sn
: 每个Speaker在不同的时间段有不同的音量如:
: S1: {[2,5], vol=10}, {[6,10], vol=2}, ...
: S2: {[1,6], vol=1}, {[8,12], vol=8}, ...
: ...
: 请输出每个时间段及这个时间段内最大的音量
: 比如,只有S1和S2的话,输出就是

d**********x
发帖数: 4083
38
should be...
not that hard...

【在 z*********8 的大作中提到】
: 第二题不能用额外空间吗?
: 不得不赞一下G的面试, 总是有新题涌出

d**********x
发帖数: 4083
39
no. you need to make it better 'discreted' so it will lead you to the
segment tree solution.
otherwise, consider a interval like [1, INT_MAX]

【在 a***m 的大作中提到】
: 第二题这样行吗:
: 一个数组, index 为单位时间
: 各个 speaker 的 各个时段volume都累加到这个数组
: 最后对数组按音量分段

h****y
发帖数: 137
40
这个不是新题了吧, EPI上的原题,
可以divide and conquer
也可以先排序, 从左往右scan, 同时maintain一个BST
两种都是nlog(n)

【在 z*********8 的大作中提到】
: 第二题不能用额外空间吗?
: 不得不赞一下G的面试, 总是有新题涌出

相关主题
发bloomberg面经 [电面,目测已挂,赞人品]bloomberg intern 面经,已挂,求板上诸位大神refer个intern
臭名昭著的skyline问题bloomberg已挂
发G店面面经(已挂),为即将到来的onsite求blessamazon面经,已挂。
进入JobHunting版参与讨论
e****s
发帖数: 46
41
什么是EPI?
h****y
发帖数: 137
42
elements of programming interview

【在 e****s 的大作中提到】
: 什么是EPI?
n****e
发帖数: 678
43
能具体说说是leetcode的哪道题吗? 不太明白“大数+1”的意思。

【在 a******e 的大作中提到】
: 面试官有东南亚口音
: 第一题是leetcode原题,大数+1
: 第二题是这样的:
: n个Speaker,S1, S2, ...Sn
: 每个Speaker在不同的时间段有不同的音量如:
: S1: {[2,5], vol=10}, {[6,10], vol=2}, ...
: S2: {[1,6], vol=1}, {[8,12], vol=8}, ...
: ...
: 请输出每个时间段及这个时间段内最大的音量
: 比如,只有S1和S2的话,输出就是

e*******s
发帖数: 1979
44
就是考了大数

【在 n****e 的大作中提到】
: 能具体说说是leetcode的哪道题吗? 不太明白“大数+1”的意思。
n****e
发帖数: 678
45
能给个leetcode 大数题的连接吗?
做了leetcode这么久,还不知道哪道题是大数。。。。

【在 e*******s 的大作中提到】
: 就是考了大数
v*****n
发帖数: 22
46
能不能展开说说,或者给个链接?
谢谢。

【在 h****y 的大作中提到】
: 这个不是新题了吧, EPI上的原题,
: 可以divide and conquer
: 也可以先排序, 从左往右scan, 同时maintain一个BST
: 两种都是nlog(n)

s********u
发帖数: 1109
47
颜色那题么,好像看着有点差别。

【在 h****y 的大作中提到】
: 这个不是新题了吧, EPI上的原题,
: 可以divide and conquer
: 也可以先排序, 从左往右scan, 同时maintain一个BST
: 两种都是nlog(n)

d**********x
发帖数: 4083
48
the basic idea is the same. convert each segment into 2 events, sort and
maintain some states

【在 s********u 的大作中提到】
: 颜色那题么,好像看着有点差别。
r*******n
发帖数: 3020
49
去leetcode 搜 plus one那道题

【在 n****e 的大作中提到】
: 能给个leetcode 大数题的连接吗?
: 做了leetcode这么久,还不知道哪道题是大数。。。。

D**********d
发帖数: 849
50
第二道 是 interval 相加,O(nlgn)
具体做法是:
用 map 将所有端点排序, 其中右端的 volume 为负值,然后扫描 map
一遍即可.
相关主题
a d d e p a r面经, 目测已挂F昂赛面经,已挂
Linked电面分享,挺好的题 应该已挂FB data scientist 一面面经(已挂)
[已挂]亚麻sde coding test screen题目及吐槽报个上周L家的onsite,已挂。继续为第6个onsite准备
进入JobHunting版参与讨论
n****e
发帖数: 678
51
多谢,知道了!
plus one和大数相加没有什么关系啊

【在 r*******n 的大作中提到】
: 去leetcode 搜 plus one那道题
w*******e
发帖数: 395
52
第二题:
1.先找出最小最大的时间值,设置一个数组,每个element代表一个单位时间内的max vol
2.填满这个数组
3,扫描这个数组,当值跳变的时候,就增加一个时间段
这道题目如果follow leetcode上merge interval的思路,肯定会非常麻烦
复杂度是O(mn),n是S的个数,m是时间段的长度

【在 a******e 的大作中提到】
: 面试官有东南亚口音
: 第一题是leetcode原题,大数+1
: 第二题是这样的:
: n个Speaker,S1, S2, ...Sn
: 每个Speaker在不同的时间段有不同的音量如:
: S1: {[2,5], vol=10}, {[6,10], vol=2}, ...
: S2: {[1,6], vol=1}, {[8,12], vol=8}, ...
: ...
: 请输出每个时间段及这个时间段内最大的音量
: 比如,只有S1和S2的话,输出就是

d**********x
发帖数: 4083
53
S1: {[0, 222233333], vol=1};

vol

【在 w*******e 的大作中提到】
: 第二题:
: 1.先找出最小最大的时间值,设置一个数组,每个element代表一个单位时间内的max vol
: 2.填满这个数组
: 3,扫描这个数组,当值跳变的时候,就增加一个时间段
: 这道题目如果follow leetcode上merge interval的思路,肯定会非常麻烦
: 复杂度是O(mn),n是S的个数,m是时间段的长度

w*******e
发帖数: 395
54
if coding in interviews, start from the simplest cases. Then, at least, you
can finish the coding. Then tell the interviewers the cases your codes
cannot cover and try to optimize it.
if you tell them a very complicate algorithm which covers a lot of cases,
you will get into a trap and cannot finish the codes. Then the result will
be a rejection.

【在 d**********x 的大作中提到】
: S1: {[0, 222233333], vol=1};
:
: vol

d**********x
发帖数: 4083
55
but not one that unacceptable. :)

you

【在 w*******e 的大作中提到】
: if coding in interviews, start from the simplest cases. Then, at least, you
: can finish the coding. Then tell the interviewers the cases your codes
: cannot cover and try to optimize it.
: if you tell them a very complicate algorithm which covers a lot of cases,
: you will get into a trap and cannot finish the codes. Then the result will
: be a rejection.

g*********e
发帖数: 14401
56

第二题就是skyline problem吧

【在 a******e 的大作中提到】
: 面试官有东南亚口音
: 第一题是leetcode原题,大数+1
: 第二题是这样的:
: n个Speaker,S1, S2, ...Sn
: 每个Speaker在不同的时间段有不同的音量如:
: S1: {[2,5], vol=10}, {[6,10], vol=2}, ...
: S2: {[1,6], vol=1}, {[8,12], vol=8}, ...
: ...
: 请输出每个时间段及这个时间段内最大的音量
: 比如,只有S1和S2的话,输出就是

f********x
发帖数: 2086
57
第二题
每次取出每个队列的head,然后提取区间(分隔最前端可以确定的几轮and保留剩下的
区间),直到某个head的区间用完,取入其head的下一个
这思路和merge n sorted list一个感觉,变成merge n sorted interval了
貌似可行
f********x
发帖数: 2086
58

自己仔细想了想,实现起来还是很麻烦,但是感觉依然可行
大牛快给点建议

【在 f********x 的大作中提到】
: 第二题
: 每次取出每个队列的head,然后提取区间(分隔最前端可以确定的几轮and保留剩下的
: 区间),直到某个head的区间用完,取入其head的下一个
: 这思路和merge n sorted list一个感觉,变成merge n sorted interval了
: 貌似可行

w*******e
发帖数: 395
59
typdef struct {
int start, end;
int vol;
} Interval;
vector > findMaxVol(vector > &S) {
int n = S.size();
vector > ret;
if(n==0) return ret;
if(n==1) return S[0];
vector index(n, 0);
int start=S[0][0].start, end=S[0][0].end;
int max_vol = 0;
for(int i=0; i if(start>S[i][0].start) start = S[i][0].start;
}
int finish_cnt = 0;
while(finish_cnt for(int i=0; i if(index[i] index[i]++;
if(index[i]==S[i].size()) finish_cnt++;
}
if(index[i]>=S[i].size()) continue;
if(S[i][index[i]].end if(max_vol }
Interval ntvl;
ntvl.start = start;
ntvl.end = end;
ntvl.vo;l = max_vol;
ret.push_back(ntvl);
max_vol = 0;
start = end;
end = INT_MAX;
}
return ret;
}

【在 d**********x 的大作中提到】
: S1: {[0, 222233333], vol=1};
:
: vol

n****e
发帖数: 678
60
Exactly
Skyline 的解法貌似是(没记错的话):
把所有的turning points 放在一起,根据coordination从小到大sort 。
struct turnpoint {
int ptr; //coordinate;
bool startOrEnd;
int volume
}
再用max-heap, 把所有的turning points扫一遍,遇到start turning point, 把
volume放入max-heap. 遇到end turning point,把对应的volume从max-heap中取出。
max-heap的max 值就是对应区间的最大volume
complexity是O(nlogn)
max-heap可以用multiset实现。

【在 g*********e 的大作中提到】
:
: 第二题就是skyline problem吧

相关主题
亚麻面筋--已挂zenefits店面(已挂)
Uber 电面 (已挂)请教一道题:skyline
G家面经(已挂)是时候搞EPI了
进入JobHunting版参与讨论
a******e
发帖数: 710
61
本来是这么想的。
写的时候想写两个speaker的case, 但即使是这样也比merge interval复杂很多,于是
就挂了。。。

you

【在 w*******e 的大作中提到】
: if coding in interviews, start from the simplest cases. Then, at least, you
: can finish the coding. Then tell the interviewers the cases your codes
: cannot cover and try to optimize it.
: if you tell them a very complicate algorithm which covers a lot of cases,
: you will get into a trap and cannot finish the codes. Then the result will
: be a rejection.

g*********e
发帖数: 14401
62


multiset用来做maxheap貌似不错!
不知道heap在stil里标准的data structure是什么

【在 n****e 的大作中提到】
: Exactly
: Skyline 的解法貌似是(没记错的话):
: 把所有的turning points 放在一起,根据coordination从小到大sort 。
: struct turnpoint {
: int ptr; //coordinate;
: bool startOrEnd;
: int volume
: }
: 再用max-heap, 把所有的turning points扫一遍,遇到start turning point, 把
: volume放入max-heap. 遇到end turning point,把对应的volume从max-heap中取出。

n****e
发帖数: 678
63
C++ STL 里面有:
std::make_heap, std::pop_heap, std::push_heap, std::sort_heap
很少用到
f******p
发帖数: 173
64
不是accumulated volume是max volume.
不过赞思路,学习。

map

【在 D**********d 的大作中提到】
: 第二道 是 interval 相加,O(nlgn)
: 具体做法是:
: 用 map 将所有端点排序, 其中右端的 volume 为负值,然后扫描 map
: 一遍即可.

z***n
发帖数: 2890
65


【在 d**********x 的大作中提到】
: the basic idea is the same. convert each segment into 2 events, sort and
: maintain some states

d***n
发帖数: 832
66
这个不work,不信找个输入走一遍



【在 n****e 的大作中提到】
: Exactly
: Skyline 的解法貌似是(没记错的话):
: 把所有的turning points 放在一起,根据coordination从小到大sort 。
: struct turnpoint {
: int ptr; //coordinate;
: bool startOrEnd;
: int volume
: }
: 再用max-heap, 把所有的turning points扫一遍,遇到start turning point, 把
: volume放入max-heap. 遇到end turning point,把对应的volume从max-heap中取出。

l*n
发帖数: 529
67
即便不work,也应该是你来走一遍来说明如何简单的输入都不work。
何况,该solution works。虽然很多地方拿skyline problem做divide & conquer的例
子,但那样并不意味着别的思路就行不通。

【在 d***n 的大作中提到】
: 这个不work,不信找个输入走一遍
:
: 。

c********p
发帖数: 1969
68
mark
n******e
发帖数: 957
69
mark
c******n
发帖数: 4965
70
又看到喇叭的题了, 不就是 skyline 么? 那可是 lc 难 等级的, 怎么弄到店面了?

【在 a******e 的大作中提到】
: 面试官有东南亚口音
: 第一题是leetcode原题,大数+1
: 第二题是这样的:
: n个Speaker,S1, S2, ...Sn
: 每个Speaker在不同的时间段有不同的音量如:
: S1: {[2,5], vol=10}, {[6,10], vol=2}, ...
: S2: {[1,6], vol=1}, {[8,12], vol=8}, ...
: ...
: 请输出每个时间段及这个时间段内最大的音量
: 比如,只有S1和S2的话,输出就是

相关主题
是时候搞EPI了臭名昭著的skyline问题
G家电面(已挂)发G店面面经(已挂),为即将到来的onsite求bless
发bloomberg面经 [电面,目测已挂,赞人品]bloomberg intern 面经,已挂,求板上诸位大神refer个intern
进入JobHunting版参与讨论
l******s
发帖数: 3045
71
好题
i******s
发帖数: 301
72
电面这么出题没意思,基本就是写报告可以看自己心情。
a****n
发帖数: 70
73
pat
p*********g
发帖数: 2998
74
这题满难的, 就算要写代码也不少, 我的思路就是每组按begin sort.
然后s1和s2合并, 出的新结果要和s3合并
合并时要以相同的begin为一组, 然后找最小的end,找到最小的end后, 可以找到这组最
大的voice,然后把这组的begin都更新为最小end+1, 然后再找下面一组
j**********0
发帖数: 20
75
I have a solution here: https://github.com/jasonzhang2022/algorithm/blob/
master/src/main/java/jason/algorithm/practice/VoiceMixer.java
But it takes me at least 2 hours.
1 (共1页)
进入JobHunting版参与讨论
相关主题
亚麻面筋--已挂臭名昭著的skyline问题
Uber 电面 (已挂)发G店面面经(已挂),为即将到来的onsite求bless
G家面经(已挂)bloomberg intern 面经,已挂,求板上诸位大神refer个intern
zenefits店面(已挂)bloomberg已挂
请教一道题:skylineamazon面经,已挂。
是时候搞EPI了a d d e p a r面经, 目测已挂
G家电面(已挂)Linked电面分享,挺好的题 应该已挂
发bloomberg面经 [电面,目测已挂,赞人品][已挂]亚麻sde coding test screen题目及吐槽
相关话题的讨论汇总
话题: vol话题: int话题: max话题: interval话题: end