p*********g 发帖数: 116 | 1 星期二一个电面,中午,一个小时.觉得答的不是很好,主要没怎么准备,也好久没面试了.
结束之后又想了一想那个问题,其实给我一小时一个人单独做也做完了,面试是左问又提
示反而扰乱了思路.不过,那可能也是面试的目的,看你的思路,而不是答案.等下把我的
题也POST上来,只有一道题.
结束之后觉得应该没戏了,没想到GOOGLE效率还真快,几个小时之后,RECRUITER就联系我
说要把我转给另一个RECRUITER.那个新的RECRUITER今天就跟我联系要安排ONSITE.
想请教大家准备电面和ONSITE是不是一样的内容,就是ONSITE的时候会更难一些,深一些
呢?还有会碰到
我跟他们要的一个星期,有什么有效的方法准备ONSITE呢?我的电面没怎么准备,就把
EXPOSE简单过了一遍.要ONSITE了,想是要好好准备一下了. | l******l 发帖数: 497 | | p*********g 发帖数: 116 | 3 想请高人能否分享一下准备ONSITE的经验.我看了版上有不少帖子,但是内容太多,恐怕
看不完. | K******o 发帖数: 296 | 4 SDE的职位么
了.
【在 p*********g 的大作中提到】 : 星期二一个电面,中午,一个小时.觉得答的不是很好,主要没怎么准备,也好久没面试了. : 结束之后又想了一想那个问题,其实给我一小时一个人单独做也做完了,面试是左问又提 : 示反而扰乱了思路.不过,那可能也是面试的目的,看你的思路,而不是答案.等下把我的 : 题也POST上来,只有一道题. : 结束之后觉得应该没戏了,没想到GOOGLE效率还真快,几个小时之后,RECRUITER就联系我 : 说要把我转给另一个RECRUITER.那个新的RECRUITER今天就跟我联系要安排ONSITE. : 想请教大家准备电面和ONSITE是不是一样的内容,就是ONSITE的时候会更难一些,深一些 : 呢?还有会碰到 : 我跟他们要的一个星期,有什么有效的方法准备ONSITE呢?我的电面没怎么准备,就把 : EXPOSE简单过了一遍.要ONSITE了,想是要好好准备一下了.
| TN 发帖数: 1870 | 5 cong!
SDE or QA?
了.
【在 p*********g 的大作中提到】 : 星期二一个电面,中午,一个小时.觉得答的不是很好,主要没怎么准备,也好久没面试了. : 结束之后又想了一想那个问题,其实给我一小时一个人单独做也做完了,面试是左问又提 : 示反而扰乱了思路.不过,那可能也是面试的目的,看你的思路,而不是答案.等下把我的 : 题也POST上来,只有一道题. : 结束之后觉得应该没戏了,没想到GOOGLE效率还真快,几个小时之后,RECRUITER就联系我 : 说要把我转给另一个RECRUITER.那个新的RECRUITER今天就跟我联系要安排ONSITE. : 想请教大家准备电面和ONSITE是不是一样的内容,就是ONSITE的时候会更难一些,深一些 : 呢?还有会碰到 : 我跟他们要的一个星期,有什么有效的方法准备ONSITE呢?我的电面没怎么准备,就把 : EXPOSE简单过了一遍.要ONSITE了,想是要好好准备一下了.
| p*********g 发帖数: 116 | 6 恩.是SOFTWARE ENGINEER的职位. | t*********n 发帖数: 1292 | | d*******8 发帖数: 3182 | 8 没啥,就是面试官会问一些很愚蠢的问题,然后让你在白板上写处答案来。其实那些问
题网上都搜得到,可能是他们太懒。
了.
【在 p*********g 的大作中提到】 : 星期二一个电面,中午,一个小时.觉得答的不是很好,主要没怎么准备,也好久没面试了. : 结束之后又想了一想那个问题,其实给我一小时一个人单独做也做完了,面试是左问又提 : 示反而扰乱了思路.不过,那可能也是面试的目的,看你的思路,而不是答案.等下把我的 : 题也POST上来,只有一道题. : 结束之后觉得应该没戏了,没想到GOOGLE效率还真快,几个小时之后,RECRUITER就联系我 : 说要把我转给另一个RECRUITER.那个新的RECRUITER今天就跟我联系要安排ONSITE. : 想请教大家准备电面和ONSITE是不是一样的内容,就是ONSITE的时候会更难一些,深一些 : 呢?还有会碰到 : 我跟他们要的一个星期,有什么有效的方法准备ONSITE呢?我的电面没怎么准备,就把 : EXPOSE简单过了一遍.要ONSITE了,想是要好好准备一下了.
| c******f 发帖数: 2144 | | r******e 发帖数: 37 | 10
我怎么觉得他们问得还挺活的阿。
楼主应该多看一些算法的分析,关键不是给出正确答案 关键是分析的过程
【在 d*******8 的大作中提到】 : 没啥,就是面试官会问一些很愚蠢的问题,然后让你在白板上写处答案来。其实那些问 : 题网上都搜得到,可能是他们太懒。 : : 了.
| | | p*********g 发帖数: 116 | 11 恩.我也是这样觉得,"关键不是给出正确答案 关键是分析的过程".
我的题目是.
给出一组ELEMENTS,其中有相同的,从新排列,使相同ELEMENT的距离至少保持N.
举例:
Input: [ A, B, B ], distance=2
Output: [ B, A, B ]
我一个小时就这么一题.问题从算法,分析,数据结构,到写了一部分code. | r****o 发帖数: 1950 | 12 请问这题你怎么答的?多谢。
【在 p*********g 的大作中提到】 : 恩.我也是这样觉得,"关键不是给出正确答案 关键是分析的过程". : 我的题目是. : 给出一组ELEMENTS,其中有相同的,从新排列,使相同ELEMENT的距离至少保持N. : 举例: : Input: [ A, B, B ], distance=2 : Output: [ B, A, B ] : 我一个小时就这么一题.问题从算法,分析,数据结构,到写了一部分code.
| k***g 发帖数: 75 | 13 我的没啥联系,感觉挺乱的。我也是一个电话面试之后就onsite,onsite的时候也是问
的挺杂的,基本算法吧,剩下的都挺灵活的。
了.
【在 p*********g 的大作中提到】 : 星期二一个电面,中午,一个小时.觉得答的不是很好,主要没怎么准备,也好久没面试了. : 结束之后又想了一想那个问题,其实给我一小时一个人单独做也做完了,面试是左问又提 : 示反而扰乱了思路.不过,那可能也是面试的目的,看你的思路,而不是答案.等下把我的 : 题也POST上来,只有一道题. : 结束之后觉得应该没戏了,没想到GOOGLE效率还真快,几个小时之后,RECRUITER就联系我 : 说要把我转给另一个RECRUITER.那个新的RECRUITER今天就跟我联系要安排ONSITE. : 想请教大家准备电面和ONSITE是不是一样的内容,就是ONSITE的时候会更难一些,深一些 : 呢?还有会碰到 : 我跟他们要的一个星期,有什么有效的方法准备ONSITE呢?我的电面没怎么准备,就把 : EXPOSE简单过了一遍.要ONSITE了,想是要好好准备一下了.
| r****o 发帖数: 1950 | 14 自己顶一下。
【在 r****o 的大作中提到】 : 请问这题你怎么答的?多谢。
| r****o 发帖数: 1950 | 15 这道题我的想法是
先排序,假定某字符串排序后是str[]=ABBCCCDDEFF
设一个output[],和一个变量index=0
i=0..len-1
str[0]可以放在output[0]
对于每个字符str[i], i=1..len-1
判断是否与str[i-1]重复,
if 不重复, 则看output[i]是否为空,若空则放str[i], 否则往output[]后找第一个
非空位置放str[i];
if 重复, 则看output[i+N]是否为空,若空则放str[i],否则往output[]后找第一个
非空的位置放str[i]。
欢迎多多抛砖。
【在 p*********g 的大作中提到】 : 恩.我也是这样觉得,"关键不是给出正确答案 关键是分析的过程". : 我的题目是. : 给出一组ELEMENTS,其中有相同的,从新排列,使相同ELEMENT的距离至少保持N. : 举例: : Input: [ A, B, B ], distance=2 : Output: [ B, A, B ] : 我一个小时就这么一题.问题从算法,分析,数据结构,到写了一部分code.
| p*********g 发帖数: 116 | 16 我的思路大致是,先COUNT每个ELEMENT,然后从最多的开始排,然后其次多的,依此排列. | d*******8 发帖数: 3182 | 17 我面试的时候,他们问过我一个问题,n个人围成一个圈,每隔m个就出局一个,问最
后剩下的是那个/些。我用了6行代码写出来,面试我的人楞是没看懂。后来我就给他
讲啊讲啊,半个多小时他好像也没明白
【在 r******e 的大作中提到】 : : 我怎么觉得他们问得还挺活的阿。 : 楼主应该多看一些算法的分析,关键不是给出正确答案 关键是分析的过程
| k***e 发帖数: 556 | 18 6行?
能否写出来看看?想学习一下
你可能碰到一个差点的 我碰到的有几个问题很灵活
【在 d*******8 的大作中提到】 : 我面试的时候,他们问过我一个问题,n个人围成一个圈,每隔m个就出局一个,问最 : 后剩下的是那个/些。我用了6行代码写出来,面试我的人楞是没看懂。后来我就给他 : 讲啊讲啊,半个多小时他好像也没明白
| d*******8 发帖数: 3182 | 19 挂了,怎好意思BSO?
【在 k***e 的大作中提到】 : 6行? : 能否写出来看看?想学习一下 : 你可能碰到一个差点的 我碰到的有几个问题很灵活
| k***e 发帖数: 556 | 20 你大概用了什么方法?
我用stl的queue,不算括号换行,也有八行
说个大概吧
【在 d*******8 的大作中提到】 : 挂了,怎好意思BSO?
| | | a*u 发帖数: 97 | 21 我的想法和pathfinding比较像,use priority queue with counts and position.
If (len-1)/(count-1)>=d is true, proceed to generate the new string.
引用roufoo的例子,初始化priority queue是
key / count / position
C 3 Integer.MIN_VALUE
B 2 Integer.MIN_VALUE
D 2 Integer.MIN_VALUE
E 2 Integer.MIN_VALUE
A 1 Integer.MIN_VALUE
E 1 Integer.MIN_VALUE
Maintain a cur reference, every time find max(count) with cur-position>=d (
customize comparable function). After printing a key, decrement its count (
remove if count reaches zero | r****o 发帖数: 1950 | 22 我没看太明白,请问
1)len是什么?
2)为什么要从重复多的元素开始排?
3)如果排的过程中发现某个位置已经被占,怎么处理呢?
多谢先。
【在 a*u 的大作中提到】 : 我的想法和pathfinding比较像,use priority queue with counts and position. : If (len-1)/(count-1)>=d is true, proceed to generate the new string. : 引用roufoo的例子,初始化priority queue是 : key / count / position : C 3 Integer.MIN_VALUE : B 2 Integer.MIN_VALUE : D 2 Integer.MIN_VALUE : E 2 Integer.MIN_VALUE : A 1 Integer.MIN_VALUE : E 1 Integer.MIN_VALUE
| a*u 发帖数: 97 | 23 偷懒用len表示string length了,主要检查feasibility, 如果有字母重复多,d不可能
太多,比如之前那个例子d最大为5。
字符是按顺序产生的,不会有位置被占的情况。字符串应该可以有多种都符合条件,如
果我理解的没错的话。
【在 r****o 的大作中提到】 : 我没看太明白,请问 : 1)len是什么? : 2)为什么要从重复多的元素开始排? : 3)如果排的过程中发现某个位置已经被占,怎么处理呢? : 多谢先。
| a*u 发帖数: 97 | 24 请问这题停止条件是什么?剩下
【在 d*******8 的大作中提到】 : 我面试的时候,他们问过我一个问题,n个人围成一个圈,每隔m个就出局一个,问最 : 后剩下的是那个/些。我用了6行代码写出来,面试我的人楞是没看懂。后来我就给他 : 讲啊讲啊,半个多小时他好像也没明白
| p*********g 发帖数: 116 | 25 恩.请指教.六行怎么出来的?
面试最后结果呢?
【在 d*******8 的大作中提到】 : 我面试的时候,他们问过我一个问题,n个人围成一个圈,每隔m个就出局一个,问最 : 后剩下的是那个/些。我用了6行代码写出来,面试我的人楞是没看懂。后来我就给他 : 讲啊讲啊,半个多小时他好像也没明白
| p*********g 发帖数: 116 | 26 恩.请指教.六行怎么出来的?
面试结果呢?
【在 d*******8 的大作中提到】 : 我面试的时候,他们问过我一个问题,n个人围成一个圈,每隔m个就出局一个,问最 : 后剩下的是那个/些。我用了6行代码写出来,面试我的人楞是没看懂。后来我就给他 : 讲啊讲啊,半个多小时他好像也没明白
| t******e 发帖数: 1293 | 27 #include
using namespace std;
int f(int n, int k)
{
if (n == 1)
return 0;
return (f(n-1, k) + k)%n;
}
int main()
{
for (int i = 1; i < 12; i++)
cout << f(i, 5) << endl;
}
【在 p*********g 的大作中提到】 : 恩.请指教.六行怎么出来的? : 面试结果呢?
| c*********u 发帖数: 361 | 28 我觉得应该是问数据结构把。可以用一个circular linked list,每次head pointer前
进m个,然后把前一个element删掉,知道只有一个element为止
【在 d*******8 的大作中提到】 : 我面试的时候,他们问过我一个问题,n个人围成一个圈,每隔m个就出局一个,问最 : 后剩下的是那个/些。我用了6行代码写出来,面试我的人楞是没看懂。后来我就给他 : 讲啊讲啊,半个多小时他好像也没明白
| r****o 发帖数: 1950 | 29 你的方法是每次找出现次数最多的那个元素放置,那放的位置应该是前一个的位置+d吧
。这样放的数组中间就有空隙。你的方法是怎么找到这些空隙放置后面的元素的呢?
【在 a*u 的大作中提到】 : 我的想法和pathfinding比较像,use priority queue with counts and position. : If (len-1)/(count-1)>=d is true, proceed to generate the new string. : 引用roufoo的例子,初始化priority queue是 : key / count / position : C 3 Integer.MIN_VALUE : B 2 Integer.MIN_VALUE : D 2 Integer.MIN_VALUE : E 2 Integer.MIN_VALUE : A 1 Integer.MIN_VALUE : E 1 Integer.MIN_VALUE
| i********s 发帖数: 133 | 30 直觉上是这样,怎么证明这个算法的正确性呢?
【在 p*********g 的大作中提到】 : 我的思路大致是,先COUNT每个ELEMENT,然后从最多的开始排,然后其次多的,依此排列.
| | | d*******8 发帖数: 3182 | 31 对啊,我知道这就是他们想要的
【在 c*********u 的大作中提到】 : 我觉得应该是问数据结构把。可以用一个circular linked list,每次head pointer前 : 进m个,然后把前一个element删掉,知道只有一个element为止
| d*******8 发帖数: 3182 | 32 看大家这么有诚意,就公布于此吧。面试结果我前面说过,挂了
1, int f(int n, int m){
2, int r = 0;
3, for (int i = 2; i <= n; i++)
4, r = (r + m) % i;
5, return r+1;
6, }
【在 p*********g 的大作中提到】 : 恩.请指教.六行怎么出来的? : 面试结果呢?
| r****o 发帖数: 1950 | 33 没看懂,是Google的题目吗?
如果最后剩下不到n
【在 d*******8 的大作中提到】 : 看大家这么有诚意,就公布于此吧。面试结果我前面说过,挂了 : 1, int f(int n, int m){ : 2, int r = 0; : 3, for (int i = 2; i <= n; i++) : 4, r = (r + m) % i; : 5, return r+1; : 6, }
| a*u 发帖数: 97 | 34 每次找出现有count最多元素放置,但是只放一个(不会更新+d位置)所以string是依
次填满的,不会有空隙。题目要求字符间隔不一定是exactly d,but has to be >=d。
【在 r****o 的大作中提到】 : 你的方法是每次找出现次数最多的那个元素放置,那放的位置应该是前一个的位置+d吧 : 。这样放的数组中间就有空隙。你的方法是怎么找到这些空隙放置后面的元素的呢?
| p*********g 发帖数: 116 | 35 恩.这个题目牵涉到两个问题.一个是按出现次数排序.另一个排好后怎么摆数字. | a*u 发帖数: 97 | 36 能不能说说怎么摆的?
不包括按次数排序,是O(N)么?我知道个O(N^2)的,没想出O(N)算法。
【在 p*********g 的大作中提到】 : 恩.这个题目牵涉到两个问题.一个是按出现次数排序.另一个排好后怎么摆数字.
| a*u 发帖数: 97 | 37 很牛,能否解释一下精髓?
是不是interviewer没听懂...
【在 d*******8 的大作中提到】 : 看大家这么有诚意,就公布于此吧。面试结果我前面说过,挂了 : 1, int f(int n, int m){ : 2, int r = 0; : 3, for (int i = 2; i <= n; i++) : 4, r = (r + m) % i; : 5, return r+1; : 6, }
| p*********g 发帖数: 116 | 38 你的N是只什么?
我的基本想法,假定已经按次数排好了,从COUNT最大到开始,只要的距离不到,就加下一
个COUNT最大的,每次加入后减COUNT;达到距离,从第一个元素开始.如果在加的过程中,
一元素的COUNT超过的第一个元素,立即加入.这样的话,只要O(N),N是元素的总数,(4C,
3B, 2A, N=9).不知道说清楚了没.
想想好象不难,写了一下好象也没那么容易.
我测试了一下,好象还OK.
Input: {c, 4}, {b, 2}, {a, 1}, Distance 2
Succeeded
Output: c, b, c, b, c, a, c,
Input: {c, 3}, {b, 2}, {a, 2}, Distance 2
Succeeded
Output: c, b, c, b, a, c, a,
Input: {c, 2}, {b, 2}, {a, 2}, Distance 2
Succeeded
Output: c, b, a, c, b, a,
Input: {c, 4}, {b, 3}, {a, 2}, Distance 3
Failed
Output:
【在 a*u 的大作中提到】 : 能不能说说怎么摆的? : 不包括按次数排序,是O(N)么?我知道个O(N^2)的,没想出O(N)算法。
| p*********g 发帖数: 116 | 39 也想了解以下精髓.
【在 a*u 的大作中提到】 : 很牛,能否解释一下精髓? : 是不是interviewer没听懂...
| g**********1 发帖数: 1113 | 40 逆向思维?从一个加到n个,每次确定一下,第一个的位置? | | | d*******8 发帖数: 3182 | 41 google 的interviewer 都没听懂,你们还没跨进google 的门槛呢,能懂么?
【在 a*u 的大作中提到】 : 很牛,能否解释一下精髓? : 是不是interviewer没听懂...
| p*********g 发帖数: 116 | 42 牛.不过好象有些矛盾.
【在 d*******8 的大作中提到】 : google 的interviewer 都没听懂,你们还没跨进google 的门槛呢,能懂么?
| c******f 发帖数: 2144 | | r****o 发帖数: 1950 | 44 请问你的程序里面用什么数据结构来存这些元素的count呢?
怎么才能知道在加的过程中,某一元素的COUNT超过第一个元素呢?
,
【在 p*********g 的大作中提到】 : 你的N是只什么? : 我的基本想法,假定已经按次数排好了,从COUNT最大到开始,只要的距离不到,就加下一 : 个COUNT最大的,每次加入后减COUNT;达到距离,从第一个元素开始.如果在加的过程中, : 一元素的COUNT超过的第一个元素,立即加入.这样的话,只要O(N),N是元素的总数,(4C, : 3B, 2A, N=9).不知道说清楚了没. : 想想好象不难,写了一下好象也没那么容易. : 我测试了一下,好象还OK. : Input: {c, 4}, {b, 2}, {a, 1}, Distance 2 : Succeeded : Output: c, b, c, b, c, a, c,
| x******3 发帖数: 245 | 45 也说说我的想法,此题也可以是认为要构造一个序列, 其任意长度为N的子序列中不含
重复元素
maintain priority queue on the number of elements repeating themselves
1. choose the most repeated N elements and put into the array
2. reduce the number of repetition of each used element by 1
3. if there are still more than or exactly N distinct elements available, go
to step 1
4. if there are less than N distinct elements, each has one copy,
put all elements in the end of the array, finish;
if some elements has more than one copy, no solu
【在 a*u 的大作中提到】 : 我的想法和pathfinding比较像,use priority queue with counts and position. : If (len-1)/(count-1)>=d is true, proceed to generate the new string. : 引用roufoo的例子,初始化priority queue是 : key / count / position : C 3 Integer.MIN_VALUE : B 2 Integer.MIN_VALUE : D 2 Integer.MIN_VALUE : E 2 Integer.MIN_VALUE : A 1 Integer.MIN_VALUE : E 1 Integer.MIN_VALUE
| l******c 发帖数: 2555 | 46 not work.
f(11, 5) = 7,
but
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
不论是每隔5 个删掉一个还是每隔 4个或 5 个 删掉一个, 结果都不是 7
【在 t******e 的大作中提到】 : #include : using namespace std; : int f(int n, int k) : { : if (n == 1) : return 0; : return (f(n-1, k) + k)%n; : } : int main() : {
| r****o 发帖数: 1950 | 47 我的想法是用一个vector来存{c,b,a},并且记载每个元素出现次数,元素在vector中
按出现顺序从大到小排列。如果distance大于vector.size(),且vector中存在至少一
个元素出现>=2次,则无解。比如说distance=4, vector.size()=3, a出现2次, b,c各
一次,无解。
每次在vector中取dist个元素(unique)放到output中相应位置,然后对vector重新排逆
序。
若vector中剩下不到dist个元素,则
如果存在至少一个某元素出现>=2次,无解;
否则将残余元素拷贝到output数组后面。
例如:
Input: {c, 4}, {b, 2}, {a, 1}, Distance 2
Output: c, b, vector {c3,b1,a1}
c, b, c, b, vector{c2,b0,a1} -> resort {c2,a1,b0}
c, b, c, b, c, a, vector{c1,a0,b0}
c, b, c, b, c, a, | h**6 发帖数: 4160 | 48 0~10的11个数围成一圈,第一次删除4,第二次删除9,最后就剩下7。
【在 l******c 的大作中提到】 : not work. : f(11, 5) = 7, : but : 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 : 不论是每隔5 个删掉一个还是每隔 4个或 5 个 删掉一个, 结果都不是 7
| h****r 发帖数: 2056 | 49 Well, you have to think it is a circuited list. It is not just a one time full list scan job.
Take the example of N=11, M = 5. The original list is,
0 1 2 3 4 5 6 7 8 9 10
step 1: start from 0, take out 5
0 1 2 3 4 6 7 8 9 10
step 2: start from 6, take out 0
1 2 3 4 6 7 8 10
step 3: start from 1, take out 7
1 2 3 4 6 8 10
step 4: start from 8, take out 4
1 2 3 6 8 10
step 5: start from 6, take out 3
1 2 6 8 10
stop at 6, since no two elements have distance of 5 any more. Remaining is
【在 h**6 的大作中提到】 : 0~10的11个数围成一圈,第一次删除4,第二次删除9,最后就剩下7。
| c****l 发帖数: 1280 | | | | m*****f 发帖数: 1243 | 51 这不是有名的约瑟夫问题?
中国小学奥数题...
【在 d*******8 的大作中提到】 : 我面试的时候,他们问过我一个问题,n个人围成一个圈,每隔m个就出局一个,问最 : 后剩下的是那个/些。我用了6行代码写出来,面试我的人楞是没看懂。后来我就给他 : 讲啊讲啊,半个多小时他好像也没明白
| m*****f 发帖数: 1243 | 52 六行还是太多了, 我记得Knuth在他的书用三行就解决了这个问题
【在 d*******8 的大作中提到】 : 看大家这么有诚意,就公布于此吧。面试结果我前面说过,挂了 : 1, int f(int n, int m){ : 2, int r = 0; : 3, for (int i = 2; i <= n; i++) : 4, r = (r + m) % i; : 5, return r+1; : 6, }
| r****o 发帖数: 1950 | 53 大侠能不能解释一下原理啊。
【在 m*****f 的大作中提到】 : 六行还是太多了, 我记得Knuth在他的书用三行就解决了这个问题
| m*****f 发帖数: 1243 | 54 http://yonah27.com/2010/04/约瑟夫问题/
网上随便找的
【在 r****o 的大作中提到】 : 大侠能不能解释一下原理啊。
| k***e 发帖数: 556 | 55 只有2,3的情形
需要的是general k
【在 m*****f 的大作中提到】 : http://yonah27.com/2010/04/约瑟夫问题/ : 网上随便找的
|
|