由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - snapchat 面经
相关主题
G家面试经历分享【电面面经】Snapchat电面面经,求onsite信息以及攒人品
Box 2 hour coding exerciseGoogle的一道面试题
Facebook口头offeramazon面完感受: 不会的都不考
问个算法题两道2009算法题
请问 如何找无序数组里第2大的数问道题
明天去G家onsite LC刷了0.8遍[算法]二分搜索变体
Facebook 电面【什么时候需要做heap, 什么时候需要做BST】
发个snapchat面经,挂的好可惜。一道G家题
相关话题的讨论汇总
话题: minnum话题: middle话题: 数组话题: xor话题: int
进入JobHunting版参与讨论
1 (共1页)
z**a
发帖数: 69
1
两轮店面。第一轮看面试官的名字,应该是以前在本版被抱怨的很多回的华裔面试官。
不过个人感觉真人却不像很多人抱怨的那样糟糕,其实我觉得他还挺不错的。面试题只
有一道,怎么查找一个数组中缺省的那一个整数,是的,不难找到方法。他会不停改变
条件,然后我给出不同的方法。最后一点是数据很大,而且数组不可变,如何找。给我
的提示用二分,不过到最后我都没做出来。其实在编程珠玑上有类似的题,可惜我没看
过。。。出乎意料,我最后拿到了二面。二面的题目也不难,数独valid,实现vector
类。当天拿到了Onsite。
Onsite签了NDA所以不透题了,其实也没什么必要透题,题目真心不难,可以说是在
leetcode平均水平,甚至以下,什么树啊,图啊,dp啊根本没有,链表都没。不过面试
官会追问很多细节的地方,比如代码的效率和改进,数据的overflow,进程空间等基础
概念,一个二分查找搞了我40分钟。三轮coding,我觉得我死在第三轮了,题目没听清
。。。写到最后才知道会错意了,当场就要崩溃。第四轮是design,我觉得不难,面试
官引导的很好,我也算是把自己能说得上的都表达出来了。最后看起来面试官也比较满
意。
第二天得到消息,挂了,HR说是slightly under the bar,可能也是客套话吧。
总体来说,题目都不是很难。以我的经验来看,编程之美和编程珠玑很重要。我所被问
到的coding题几乎都可以在这两本书上看到。
Onsite除了机票旅店,只给报$100,打车都不够啊。
y***n
发帖数: 1594
2
编程之美第一次听说。。
h*******e
发帖数: 1377
3
也是一个比赛。

【在 y***n 的大作中提到】
: 编程之美第一次听说。。
h*******e
发帖数: 1377
4
讨论一下first missing postive integer吧。。比如最后一问不能swap那么
unordered_set让用不呢。
z**a
发帖数: 69
5
是value [1, n]中的n-1长数组缺省的值,并非first missing value。时间复杂度O(
nlogn)。

【在 h*******e 的大作中提到】
: 讨论一下first missing postive integer吧。。比如最后一问不能swap那么
: unordered_set让用不呢。

h*******e
发帖数: 1377
6
还有楼主关于vmware。。。求公共祖先 它让你用tarjan 算法么,如果用,不光要记住
大体算法,还要写个并查集类哦。。。。
h*******e
发帖数: 1377
7
http://segmentfault.com/q/1010000000359749
类似这个?

【在 z**a 的大作中提到】
: 是value [1, n]中的n-1长数组缺省的值,并非first missing value。时间复杂度O(
: nlogn)。

z**a
发帖数: 69
8
没听说过。。。应该没这么高级吧,说实话,面了公司也不少了,还真没碰到过要求特
别高级方法的题。dp碰到过一次而已。感觉还是细节更重要。

【在 h*******e 的大作中提到】
: 还有楼主关于vmware。。。求公共祖先 它让你用tarjan 算法么,如果用,不光要记住
: 大体算法,还要写个并查集类哦。。。。

z**a
发帖数: 69
9
不是这个,这个我答上来了。。。不对。 mid=highValue-(highValue-lowValue)/2(二
分要这么写)。 然后算多少比mid小,多少比mid大,update highValue和lowValue,
找到target Value,这就是缺省的值了。

【在 h*******e 的大作中提到】
: http://segmentfault.com/q/1010000000359749
: 类似这个?

h*******e
发帖数: 1377
10
确实细节很重要啊。

【在 z**a 的大作中提到】
: 没听说过。。。应该没这么高级吧,说实话,面了公司也不少了,还真没碰到过要求特
: 别高级方法的题。dp碰到过一次而已。感觉还是细节更重要。

相关主题
明天去G家onsite LC刷了0.8遍【电面面经】Snapchat电面面经,求onsite信息以及攒人品
Facebook 电面Google的一道面试题
发个snapchat面经,挂的好可惜。amazon面完感受: 不会的都不考
进入JobHunting版参与讨论
q********c
发帖数: 1774
11
数组是sorted的吗?

【在 z**a 的大作中提到】
: 是value [1, n]中的n-1长数组缺省的值,并非first missing value。时间复杂度O(
: nlogn)。

z**a
发帖数: 69
12
当然不是。。。

【在 q********c 的大作中提到】
: 数组是sorted的吗?
h*******e
发帖数: 1377
13
我把缺省理解成缺少了, 我还是没明白题意哦。什么样的数组(排过序的?随机的数
组? 数组大小多少 (n-1? n?), 怎么数组是1开头呢)找什么样的值哦,给定的
值么,还是中值,还是top k(第k大的值)呢。

【在 z**a 的大作中提到】
: 不是这个,这个我答上来了。。。不对。 mid=highValue-(highValue-lowValue)/2(二
: 分要这么写)。 然后算多少比mid小,多少比mid大,update highValue和lowValue,
: 找到target Value,这就是缺省的值了。

z**a
发帖数: 69
14
长n-1的正整数数组,值的范围是1~n,不重复,所以有且有一个值缺省。无序,要求O
(1)空间,O(nlogn)时间。不允许改动原数组。找到那个缺省的值。

【在 h*******e 的大作中提到】
: 我把缺省理解成缺少了, 我还是没明白题意哦。什么样的数组(排过序的?随机的数
: 组? 数组大小多少 (n-1? n?), 怎么数组是1开头呢)找什么样的值哦,给定的
: 值么,还是中值,还是top k(第k大的值)呢。

h*******e
发帖数: 1377
15
明白了

O

【在 z**a 的大作中提到】
: 长n-1的正整数数组,值的范围是1~n,不重复,所以有且有一个值缺省。无序,要求O
: (1)空间,O(nlogn)时间。不允许改动原数组。找到那个缺省的值。

v***o
发帖数: 287
16
简单啊。。。

vector

【在 z**a 的大作中提到】
: 两轮店面。第一轮看面试官的名字,应该是以前在本版被抱怨的很多回的华裔面试官。
: 不过个人感觉真人却不像很多人抱怨的那样糟糕,其实我觉得他还挺不错的。面试题只
: 有一道,怎么查找一个数组中缺省的那一个整数,是的,不难找到方法。他会不停改变
: 条件,然后我给出不同的方法。最后一点是数据很大,而且数组不可变,如何找。给我
: 的提示用二分,不过到最后我都没做出来。其实在编程珠玑上有类似的题,可惜我没看
: 过。。。出乎意料,我最后拿到了二面。二面的题目也不难,数独valid,实现vector
: 类。当天拿到了Onsite。
: Onsite签了NDA所以不透题了,其实也没什么必要透题,题目真心不难,可以说是在
: leetcode平均水平,甚至以下,什么树啊,图啊,dp啊根本没有,链表都没。不过面试
: 官会追问很多细节的地方,比如代码的效率和改进,数据的overflow,进程空间等基础

l***s
发帖数: 15
17
是不是 用 counting sort 类似,
1. scan through the whole array; count # of 1 ~ n/2
2. then decide to count half of (1~n/2) or half of (n/2 - n)
3. repeat logn times.

O

【在 z**a 的大作中提到】
: 长n-1的正整数数组,值的范围是1~n,不重复,所以有且有一个值缺省。无序,要求O
: (1)空间,O(nlogn)时间。不允许改动原数组。找到那个缺省的值。

q********c
发帖数: 1774
18
到底是O(nlogn)时间还是log(n)时间?

O

【在 z**a 的大作中提到】
: 长n-1的正整数数组,值的范围是1~n,不重复,所以有且有一个值缺省。无序,要求O
: (1)空间,O(nlogn)时间。不允许改动原数组。找到那个缺省的值。

l*****7
发帖数: 55
19
无序,怎么O(logn)?

【在 q********c 的大作中提到】
: 到底是O(nlogn)时间还是log(n)时间?
:
: O

z**a
发帖数: 69
20
不错,虽然我不认为这和counting sort类似

【在 l***s 的大作中提到】
: 是不是 用 counting sort 类似,
: 1. scan through the whole array; count # of 1 ~ n/2
: 2. then decide to count half of (1~n/2) or half of (n/2 - n)
: 3. repeat logn times.
:
: O

相关主题
两道2009算法题【什么时候需要做heap, 什么时候需要做BST】
问道题一道G家题
[算法]二分搜索变体G家电面题目
进入JobHunting版参与讨论
z**a
发帖数: 69
21
我似乎没说过logn吧

【在 q********c 的大作中提到】
: 到底是O(nlogn)时间还是log(n)时间?
:
: O

w******e
发帖数: 1621
22
缺省是default的意思吧 lz是说缺少的值么
h*******e
发帖数: 1377
23
你的二分方法我懂了,那么n*(n + 1)/2 对于1-n求和, 再减数组里面所有的数的和得出
missing的数呢? O(1)空间,O(n)时间,不改原数组的。

O

【在 z**a 的大作中提到】
: 长n-1的正整数数组,值的范围是1~n,不重复,所以有且有一个值缺省。无序,要求O
: (1)空间,O(nlogn)时间。不允许改动原数组。找到那个缺省的值。

n*********d
发帖数: 1603
24
对啊 这个方法很赞啊,不过有点类似脑筋急转弯,纯粹数学而不是coding问题了
而且n稍微大一点就得溢出了,得边求和边减

得出

【在 h*******e 的大作中提到】
: 你的二分方法我懂了,那么n*(n + 1)/2 对于1-n求和, 再减数组里面所有的数的和得出
: missing的数呢? O(1)空间,O(n)时间,不改原数组的。
:
: O

z**a
发帖数: 69
25
这方法挺好,如果不是我题目表述有错,那就是我们两个当时都SB了。。。

得出

【在 h*******e 的大作中提到】
: 你的二分方法我懂了,那么n*(n + 1)/2 对于1-n求和, 再减数组里面所有的数的和得出
: missing的数呢? O(1)空间,O(n)时间,不改原数组的。
:
: O

h*******e
发帖数: 1377
26
也可能面试官题意没太说清。

【在 z**a 的大作中提到】
: 这方法挺好,如果不是我题目表述有错,那就是我们两个当时都SB了。。。
:
: 得出

m*****k
发帖数: 731
27
this is the math solution, 马工面试要考虑溢出。
就像2分查找算mid一样,不是直接(low+high)/2的。

得出

【在 h*******e 的大作中提到】
: 你的二分方法我懂了,那么n*(n + 1)/2 对于1-n求和, 再减数组里面所有的数的和得出
: missing的数呢? O(1)空间,O(n)时间,不改原数组的。
:
: O

J***u
发帖数: 18
28
xor
h*******e
发帖数: 1377
29
可不可以事先估算n*(n+1)/2的范围如果比较大的话用 java big integer 或者 c++
string 算乘法。
如果数再大存不下, 存在外存上,比如 硬盘文件阿神马的

【在 m*****k 的大作中提到】
: this is the math solution, 马工面试要考虑溢出。
: 就像2分查找算mid一样,不是直接(low+high)/2的。
:
: 得出

h*******e
发帖数: 1377
30
你后来说得xor不错的。 加加减减也会溢出的 n^2 级别的数 当数组是递减情况。

【在 m*****k 的大作中提到】
: this is the math solution, 马工面试要考虑溢出。
: 就像2分查找算mid一样,不是直接(low+high)/2的。
:
: 得出

相关主题
数组中找和为0的3个数,4个数Box 2 hour coding exercise
一道题目Facebook口头offer
G家面试经历分享问个算法题
进入JobHunting版参与讨论
h*******e
发帖数: 1377
31
恩,以前以为xor光可以用在数组有只一个元素出现一次其他元素两次用xor, 现在发
现数组里面如果2个元素出现一次, 其它元素出现两次,或者数组n个连续数 少了一个
都可以用xor阿, xor真是用途多哦。

【在 J***u 的大作中提到】
: xor
t*******y
发帖数: 22
32
how to use xor for this question?
int findMissingNumber(int a[], int len, int minNum, int maxNum){
int middle = minNum + (maxNum-minNum)/2;
int count_smaller = 0;
int count_greater = 0;
for(int i=0; i if(a[i]>=minNum && a[i]<=middle) count_smaller++;
else if(a[i]>middle && a[i]<=maxNum) count_greater++;
}

if(count_smaller < (middle-minNum+1)){
if(middle==minNum) return middle;
else return findMissingNumber(a,len,minNum,middle);
}else{
if(middle==minNum) return middle+1;
else return findMissingNumber(a,len,middle+1,maxNum);
}
}

【在 h*******e 的大作中提到】
: 恩,以前以为xor光可以用在数组有只一个元素出现一次其他元素两次用xor, 现在发
: 现数组里面如果2个元素出现一次, 其它元素出现两次,或者数组n个连续数 少了一个
: 都可以用xor阿, xor真是用途多哦。

h*******e
发帖数: 1377
33
1 xor 2 xor3 xor 4....xor n n个数 xor 出的结果 xor arr[0]...arr[n-1] n-1个
数 得到了一个最后结果 这样只有一个元素在这个表达式中算了一遍,其他元素在这个
表达式中计算了两遍为0, 这样最后的结果就是这个missing 的元素。

【在 t*******y 的大作中提到】
: how to use xor for this question?
: int findMissingNumber(int a[], int len, int minNum, int maxNum){
: int middle = minNum + (maxNum-minNum)/2;
: int count_smaller = 0;
: int count_greater = 0;
: for(int i=0; i: if(a[i]>=minNum && a[i]<=middle) count_smaller++;
: else if(a[i]>middle && a[i]<=maxNum) count_greater++;
: }
:

t*******y
发帖数: 22
34
cool

【在 h*******e 的大作中提到】
: 1 xor 2 xor3 xor 4....xor n n个数 xor 出的结果 xor arr[0]...arr[n-1] n-1个
: 数 得到了一个最后结果 这样只有一个元素在这个表达式中算了一遍,其他元素在这个
: 表达式中计算了两遍为0, 这样最后的结果就是这个missing 的元素。

l*****a
发帖数: 14598
35
微软培训班的阿

vector

【在 z**a 的大作中提到】
: 两轮店面。第一轮看面试官的名字,应该是以前在本版被抱怨的很多回的华裔面试官。
: 不过个人感觉真人却不像很多人抱怨的那样糟糕,其实我觉得他还挺不错的。面试题只
: 有一道,怎么查找一个数组中缺省的那一个整数,是的,不难找到方法。他会不停改变
: 条件,然后我给出不同的方法。最后一点是数据很大,而且数组不可变,如何找。给我
: 的提示用二分,不过到最后我都没做出来。其实在编程珠玑上有类似的题,可惜我没看
: 过。。。出乎意料,我最后拿到了二面。二面的题目也不难,数独valid,实现vector
: 类。当天拿到了Onsite。
: Onsite签了NDA所以不透题了,其实也没什么必要透题,题目真心不难,可以说是在
: leetcode平均水平,甚至以下,什么树啊,图啊,dp啊根本没有,链表都没。不过面试
: 官会追问很多细节的地方,比如代码的效率和改进,数据的overflow,进程空间等基础

r****n
发帖数: 63
36
咦,不是MS出的那本书么?

【在 h*******e 的大作中提到】
: 也是一个比赛。
c****l
发帖数: 1280
37
"现在发
现数组里面如果2个元素出现一次, 其它元素出现两次," 这种情况是什么意思? 用
xor

【在 h*******e 的大作中提到】
: 恩,以前以为xor光可以用在数组有只一个元素出现一次其他元素两次用xor, 现在发
: 现数组里面如果2个元素出现一次, 其它元素出现两次,或者数组n个连续数 少了一个
: 都可以用xor阿, xor真是用途多哦。

d*l
发帖数: 1810
38
还是没有弄明白啥叫一个数“缺省”?
看题目说是n-1个不重复正整数,范围从1~n,那必须有一个“缺少”的数啊。这里的缺
省和缺少是啥关系?
m*******i
发帖数: 34
39
数组没有排序过的, 你这样二分法可以吗?

【在 t*******y 的大作中提到】
: how to use xor for this question?
: int findMissingNumber(int a[], int len, int minNum, int maxNum){
: int middle = minNum + (maxNum-minNum)/2;
: int count_smaller = 0;
: int count_greater = 0;
: for(int i=0; i: if(a[i]>=minNum && a[i]<=middle) count_smaller++;
: else if(a[i]>middle && a[i]<=maxNum) count_greater++;
: }
:

s******t
发帖数: 229
40

这方法应该行

【在 h*******e 的大作中提到】
: 1 xor 2 xor3 xor 4....xor n n个数 xor 出的结果 xor arr[0]...arr[n-1] n-1个
: 数 得到了一个最后结果 这样只有一个元素在这个表达式中算了一遍,其他元素在这个
: 表达式中计算了两遍为0, 这样最后的结果就是这个missing 的元素。

相关主题
问个算法题Facebook 电面
请问 如何找无序数组里第2大的数发个snapchat面经,挂的好可惜。
明天去G家onsite LC刷了0.8遍【电面面经】Snapchat电面面经,求onsite信息以及攒人品
进入JobHunting版参与讨论
z**a
发帖数: 69
41
两轮店面。第一轮看面试官的名字,应该是以前在本版被抱怨的很多回的华裔面试官。
不过个人感觉真人却不像很多人抱怨的那样糟糕,其实我觉得他还挺不错的。面试题只
有一道,怎么查找一个数组中缺省的那一个整数,是的,不难找到方法。他会不停改变
条件,然后我给出不同的方法。最后一点是数据很大,而且数组不可变,如何找。给我
的提示用二分,不过到最后我都没做出来。其实在编程珠玑上有类似的题,可惜我没看
过。。。出乎意料,我最后拿到了二面。二面的题目也不难,数独valid,实现vector
类。当天拿到了Onsite。
Onsite签了NDA所以不透题了,其实也没什么必要透题,题目真心不难,可以说是在
leetcode平均水平,甚至以下,什么树啊,图啊,dp啊根本没有,链表都没。不过面试
官会追问很多细节的地方,比如代码的效率和改进,数据的overflow,进程空间等基础
概念,一个二分查找搞了我40分钟。三轮coding,我觉得我死在第三轮了,题目没听清
。。。写到最后才知道会错意了,当场就要崩溃。第四轮是design,我觉得不难,面试
官引导的很好,我也算是把自己能说得上的都表达出来了。最后看起来面试官也比较满
意。
第二天得到消息,挂了,HR说是slightly under the bar,可能也是客套话吧。
总体来说,题目都不是很难。以我的经验来看,编程之美和编程珠玑很重要。我所被问
到的coding题几乎都可以在这两本书上看到。
Onsite除了机票旅店,只给报$100,打车都不够啊。
y***n
发帖数: 1594
42
编程之美第一次听说。。
h*******e
发帖数: 1377
43
也是一个比赛。

【在 y***n 的大作中提到】
: 编程之美第一次听说。。
h*******e
发帖数: 1377
44
讨论一下first missing postive integer吧。。比如最后一问不能swap那么
unordered_set让用不呢。
z**a
发帖数: 69
45
是value [1, n]中的n-1长数组缺省的值,并非first missing value。时间复杂度O(
nlogn)。

【在 h*******e 的大作中提到】
: 讨论一下first missing postive integer吧。。比如最后一问不能swap那么
: unordered_set让用不呢。

h*******e
发帖数: 1377
46
还有楼主关于vmware。。。求公共祖先 它让你用tarjan 算法么,如果用,不光要记住
大体算法,还要写个并查集类哦。。。。
h*******e
发帖数: 1377
47
http://segmentfault.com/q/1010000000359749
类似这个?

【在 z**a 的大作中提到】
: 是value [1, n]中的n-1长数组缺省的值,并非first missing value。时间复杂度O(
: nlogn)。

z**a
发帖数: 69
48
没听说过。。。应该没这么高级吧,说实话,面了公司也不少了,还真没碰到过要求特
别高级方法的题。dp碰到过一次而已。感觉还是细节更重要。

【在 h*******e 的大作中提到】
: 还有楼主关于vmware。。。求公共祖先 它让你用tarjan 算法么,如果用,不光要记住
: 大体算法,还要写个并查集类哦。。。。

z**a
发帖数: 69
49
不是这个,这个我答上来了。。。不对。 mid=highValue-(highValue-lowValue)/2(二
分要这么写)。 然后算多少比mid小,多少比mid大,update highValue和lowValue,
找到target Value,这就是缺省的值了。

【在 h*******e 的大作中提到】
: http://segmentfault.com/q/1010000000359749
: 类似这个?

h*******e
发帖数: 1377
50
确实细节很重要啊。

【在 z**a 的大作中提到】
: 没听说过。。。应该没这么高级吧,说实话,面了公司也不少了,还真没碰到过要求特
: 别高级方法的题。dp碰到过一次而已。感觉还是细节更重要。

相关主题
Google的一道面试题问道题
amazon面完感受: 不会的都不考[算法]二分搜索变体
两道2009算法题【什么时候需要做heap, 什么时候需要做BST】
进入JobHunting版参与讨论
q********c
发帖数: 1774
51
数组是sorted的吗?

【在 z**a 的大作中提到】
: 是value [1, n]中的n-1长数组缺省的值,并非first missing value。时间复杂度O(
: nlogn)。

z**a
发帖数: 69
52
当然不是。。。

【在 q********c 的大作中提到】
: 数组是sorted的吗?
h*******e
发帖数: 1377
53
我把缺省理解成缺少了, 我还是没明白题意哦。什么样的数组(排过序的?随机的数
组? 数组大小多少 (n-1? n?), 怎么数组是1开头呢)找什么样的值哦,给定的
值么,还是中值,还是top k(第k大的值)呢。

【在 z**a 的大作中提到】
: 不是这个,这个我答上来了。。。不对。 mid=highValue-(highValue-lowValue)/2(二
: 分要这么写)。 然后算多少比mid小,多少比mid大,update highValue和lowValue,
: 找到target Value,这就是缺省的值了。

z**a
发帖数: 69
54
长n-1的正整数数组,值的范围是1~n,不重复,所以有且有一个值缺省。无序,要求O
(1)空间,O(nlogn)时间。不允许改动原数组。找到那个缺省的值。

【在 h*******e 的大作中提到】
: 我把缺省理解成缺少了, 我还是没明白题意哦。什么样的数组(排过序的?随机的数
: 组? 数组大小多少 (n-1? n?), 怎么数组是1开头呢)找什么样的值哦,给定的
: 值么,还是中值,还是top k(第k大的值)呢。

h*******e
发帖数: 1377
55
明白了

O

【在 z**a 的大作中提到】
: 长n-1的正整数数组,值的范围是1~n,不重复,所以有且有一个值缺省。无序,要求O
: (1)空间,O(nlogn)时间。不允许改动原数组。找到那个缺省的值。

v***o
发帖数: 287
56
简单啊。。。

vector

【在 z**a 的大作中提到】
: 两轮店面。第一轮看面试官的名字,应该是以前在本版被抱怨的很多回的华裔面试官。
: 不过个人感觉真人却不像很多人抱怨的那样糟糕,其实我觉得他还挺不错的。面试题只
: 有一道,怎么查找一个数组中缺省的那一个整数,是的,不难找到方法。他会不停改变
: 条件,然后我给出不同的方法。最后一点是数据很大,而且数组不可变,如何找。给我
: 的提示用二分,不过到最后我都没做出来。其实在编程珠玑上有类似的题,可惜我没看
: 过。。。出乎意料,我最后拿到了二面。二面的题目也不难,数独valid,实现vector
: 类。当天拿到了Onsite。
: Onsite签了NDA所以不透题了,其实也没什么必要透题,题目真心不难,可以说是在
: leetcode平均水平,甚至以下,什么树啊,图啊,dp啊根本没有,链表都没。不过面试
: 官会追问很多细节的地方,比如代码的效率和改进,数据的overflow,进程空间等基础

l***s
发帖数: 15
57
是不是 用 counting sort 类似,
1. scan through the whole array; count # of 1 ~ n/2
2. then decide to count half of (1~n/2) or half of (n/2 - n)
3. repeat logn times.

O

【在 z**a 的大作中提到】
: 长n-1的正整数数组,值的范围是1~n,不重复,所以有且有一个值缺省。无序,要求O
: (1)空间,O(nlogn)时间。不允许改动原数组。找到那个缺省的值。

q********c
发帖数: 1774
58
到底是O(nlogn)时间还是log(n)时间?

O

【在 z**a 的大作中提到】
: 长n-1的正整数数组,值的范围是1~n,不重复,所以有且有一个值缺省。无序,要求O
: (1)空间,O(nlogn)时间。不允许改动原数组。找到那个缺省的值。

l*****7
发帖数: 55
59
无序,怎么O(logn)?

【在 q********c 的大作中提到】
: 到底是O(nlogn)时间还是log(n)时间?
:
: O

z**a
发帖数: 69
60
不错,虽然我不认为这和counting sort类似

【在 l***s 的大作中提到】
: 是不是 用 counting sort 类似,
: 1. scan through the whole array; count # of 1 ~ n/2
: 2. then decide to count half of (1~n/2) or half of (n/2 - n)
: 3. repeat logn times.
:
: O

相关主题
一道G家题一道题目
G家电面题目G家面试经历分享
数组中找和为0的3个数,4个数Box 2 hour coding exercise
进入JobHunting版参与讨论
z**a
发帖数: 69
61
我似乎没说过logn吧

【在 q********c 的大作中提到】
: 到底是O(nlogn)时间还是log(n)时间?
:
: O

w******e
发帖数: 1621
62
缺省是default的意思吧 lz是说缺少的值么
h*******e
发帖数: 1377
63
你的二分方法我懂了,那么n*(n + 1)/2 对于1-n求和, 再减数组里面所有的数的和得出
missing的数呢? O(1)空间,O(n)时间,不改原数组的。

O

【在 z**a 的大作中提到】
: 长n-1的正整数数组,值的范围是1~n,不重复,所以有且有一个值缺省。无序,要求O
: (1)空间,O(nlogn)时间。不允许改动原数组。找到那个缺省的值。

n*********d
发帖数: 1603
64
对啊 这个方法很赞啊,不过有点类似脑筋急转弯,纯粹数学而不是coding问题了
而且n稍微大一点就得溢出了,得边求和边减

得出

【在 h*******e 的大作中提到】
: 你的二分方法我懂了,那么n*(n + 1)/2 对于1-n求和, 再减数组里面所有的数的和得出
: missing的数呢? O(1)空间,O(n)时间,不改原数组的。
:
: O

z**a
发帖数: 69
65
这方法挺好,如果不是我题目表述有错,那就是我们两个当时都SB了。。。

得出

【在 h*******e 的大作中提到】
: 你的二分方法我懂了,那么n*(n + 1)/2 对于1-n求和, 再减数组里面所有的数的和得出
: missing的数呢? O(1)空间,O(n)时间,不改原数组的。
:
: O

h*******e
发帖数: 1377
66
也可能面试官题意没太说清。

【在 z**a 的大作中提到】
: 这方法挺好,如果不是我题目表述有错,那就是我们两个当时都SB了。。。
:
: 得出

m*****k
发帖数: 731
67
this is the math solution, 马工面试要考虑溢出。
就像2分查找算mid一样,不是直接(low+high)/2的。

得出

【在 h*******e 的大作中提到】
: 你的二分方法我懂了,那么n*(n + 1)/2 对于1-n求和, 再减数组里面所有的数的和得出
: missing的数呢? O(1)空间,O(n)时间,不改原数组的。
:
: O

J***u
发帖数: 18
68
xor
h*******e
发帖数: 1377
69
可不可以事先估算n*(n+1)/2的范围如果比较大的话用 java big integer 或者 c++
string 算乘法。
如果数再大存不下, 存在外存上,比如 硬盘文件阿神马的

【在 m*****k 的大作中提到】
: this is the math solution, 马工面试要考虑溢出。
: 就像2分查找算mid一样,不是直接(low+high)/2的。
:
: 得出

h*******e
发帖数: 1377
70
你后来说得xor不错的。 加加减减也会溢出的 n^2 级别的数 当数组是递减情况。

【在 m*****k 的大作中提到】
: this is the math solution, 马工面试要考虑溢出。
: 就像2分查找算mid一样,不是直接(low+high)/2的。
:
: 得出

相关主题
Box 2 hour coding exercise请问 如何找无序数组里第2大的数
Facebook口头offer明天去G家onsite LC刷了0.8遍
问个算法题Facebook 电面
进入JobHunting版参与讨论
h*******e
发帖数: 1377
71
恩,以前以为xor光可以用在数组有只一个元素出现一次其他元素两次用xor, 现在发
现数组里面如果2个元素出现一次, 其它元素出现两次,或者数组n个连续数 少了一个
都可以用xor阿, xor真是用途多哦。

【在 J***u 的大作中提到】
: xor
t*******y
发帖数: 22
72
how to use xor for this question?
int findMissingNumber(int a[], int len, int minNum, int maxNum){
int middle = minNum + (maxNum-minNum)/2;
int count_smaller = 0;
int count_greater = 0;
for(int i=0; i if(a[i]>=minNum && a[i]<=middle) count_smaller++;
else if(a[i]>middle && a[i]<=maxNum) count_greater++;
}

if(count_smaller < (middle-minNum+1)){
if(middle==minNum) return middle;
else return findMissingNumber(a,len,minNum,middle);
}else{
if(middle==minNum) return middle+1;
else return findMissingNumber(a,len,middle+1,maxNum);
}
}

【在 h*******e 的大作中提到】
: 恩,以前以为xor光可以用在数组有只一个元素出现一次其他元素两次用xor, 现在发
: 现数组里面如果2个元素出现一次, 其它元素出现两次,或者数组n个连续数 少了一个
: 都可以用xor阿, xor真是用途多哦。

h*******e
发帖数: 1377
73
1 xor 2 xor3 xor 4....xor n n个数 xor 出的结果 xor arr[0]...arr[n-1] n-1个
数 得到了一个最后结果 这样只有一个元素在这个表达式中算了一遍,其他元素在这个
表达式中计算了两遍为0, 这样最后的结果就是这个missing 的元素。

【在 t*******y 的大作中提到】
: how to use xor for this question?
: int findMissingNumber(int a[], int len, int minNum, int maxNum){
: int middle = minNum + (maxNum-minNum)/2;
: int count_smaller = 0;
: int count_greater = 0;
: for(int i=0; i: if(a[i]>=minNum && a[i]<=middle) count_smaller++;
: else if(a[i]>middle && a[i]<=maxNum) count_greater++;
: }
:

t*******y
发帖数: 22
74
cool

【在 h*******e 的大作中提到】
: 1 xor 2 xor3 xor 4....xor n n个数 xor 出的结果 xor arr[0]...arr[n-1] n-1个
: 数 得到了一个最后结果 这样只有一个元素在这个表达式中算了一遍,其他元素在这个
: 表达式中计算了两遍为0, 这样最后的结果就是这个missing 的元素。

l*****a
发帖数: 14598
75
微软培训班的阿

vector

【在 z**a 的大作中提到】
: 两轮店面。第一轮看面试官的名字,应该是以前在本版被抱怨的很多回的华裔面试官。
: 不过个人感觉真人却不像很多人抱怨的那样糟糕,其实我觉得他还挺不错的。面试题只
: 有一道,怎么查找一个数组中缺省的那一个整数,是的,不难找到方法。他会不停改变
: 条件,然后我给出不同的方法。最后一点是数据很大,而且数组不可变,如何找。给我
: 的提示用二分,不过到最后我都没做出来。其实在编程珠玑上有类似的题,可惜我没看
: 过。。。出乎意料,我最后拿到了二面。二面的题目也不难,数独valid,实现vector
: 类。当天拿到了Onsite。
: Onsite签了NDA所以不透题了,其实也没什么必要透题,题目真心不难,可以说是在
: leetcode平均水平,甚至以下,什么树啊,图啊,dp啊根本没有,链表都没。不过面试
: 官会追问很多细节的地方,比如代码的效率和改进,数据的overflow,进程空间等基础

r****n
发帖数: 63
76
咦,不是MS出的那本书么?

【在 h*******e 的大作中提到】
: 也是一个比赛。
c****l
发帖数: 1280
77
"现在发
现数组里面如果2个元素出现一次, 其它元素出现两次," 这种情况是什么意思? 用
xor

【在 h*******e 的大作中提到】
: 恩,以前以为xor光可以用在数组有只一个元素出现一次其他元素两次用xor, 现在发
: 现数组里面如果2个元素出现一次, 其它元素出现两次,或者数组n个连续数 少了一个
: 都可以用xor阿, xor真是用途多哦。

d*l
发帖数: 1810
78
还是没有弄明白啥叫一个数“缺省”?
看题目说是n-1个不重复正整数,范围从1~n,那必须有一个“缺少”的数啊。这里的缺
省和缺少是啥关系?
m*******i
发帖数: 34
79
数组没有排序过的, 你这样二分法可以吗?

【在 t*******y 的大作中提到】
: how to use xor for this question?
: int findMissingNumber(int a[], int len, int minNum, int maxNum){
: int middle = minNum + (maxNum-minNum)/2;
: int count_smaller = 0;
: int count_greater = 0;
: for(int i=0; i: if(a[i]>=minNum && a[i]<=middle) count_smaller++;
: else if(a[i]>middle && a[i]<=maxNum) count_greater++;
: }
:

s******t
发帖数: 229
80

这方法应该行

【在 h*******e 的大作中提到】
: 1 xor 2 xor3 xor 4....xor n n个数 xor 出的结果 xor arr[0]...arr[n-1] n-1个
: 数 得到了一个最后结果 这样只有一个元素在这个表达式中算了一遍,其他元素在这个
: 表达式中计算了两遍为0, 这样最后的结果就是这个missing 的元素。

相关主题
发个snapchat面经,挂的好可惜。amazon面完感受: 不会的都不考
【电面面经】Snapchat电面面经,求onsite信息以及攒人品两道2009算法题
Google的一道面试题问道题
进入JobHunting版参与讨论
i*****o
发帖数: 105
81
how about:
x = (1+n)*n/2 - SUM(A[1]...A[n-1])
using big number for large array
i*****o
发帖数: 105
82
how about:
x = (1+n)*n/2 - SUM(A[1]...A[n-1])
using big number for large array
i*****o
发帖数: 105
83
how about:
x = (1+n)*n/2 - SUM(A[1]...A[n-1])
using big number for large array
i*****o
发帖数: 105
84
how about:
x = (1+n)*n/2 - SUM(A[1]...A[n-1])
using big number for large array
j****1
发帖数: 99
85
could you PLS share the design question? OOD or system design ? thanks
1 (共1页)
进入JobHunting版参与讨论
相关主题
一道G家题请问 如何找无序数组里第2大的数
G家电面题目明天去G家onsite LC刷了0.8遍
数组中找和为0的3个数,4个数Facebook 电面
一道题目发个snapchat面经,挂的好可惜。
G家面试经历分享【电面面经】Snapchat电面面经,求onsite信息以及攒人品
Box 2 hour coding exerciseGoogle的一道面试题
Facebook口头offeramazon面完感受: 不会的都不考
问个算法题两道2009算法题
相关话题的讨论汇总
话题: minnum话题: middle话题: 数组话题: xor话题: int