由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 新鲜电面
相关主题
F电面String list如何排序
一道题目Implement strStr() ?
facebook一题能不能讨论一下kmp
Amazon常见设计题——设计电话簿求解FB面试题一道 求解
上午偷闲把TopKFrequentWords写出来了一道电面题,分享下, 这个题应该用哪几个data structure?
贡献个facebook电话interviewJava programming question
问个google老题的最佳解法急问,Boggle (crossword)的解题思路?
strstr的复杂度和worst case是什么?字典里找子串怎么解?generalized suffix tree?
相关话题的讨论汇总
话题: string话题: int话题: word话题: nndlen话题: yes
进入JobHunting版参与讨论
1 (共1页)
s*********d
发帖数: 2406
1
没什么说的,自己没准备好。新近IPO 公司
电面挂了,阿三面的但是很nice
1. 从1-100 ,3的倍数输出yes 5的倍数输出no
同时满足 输出yes no 同一行。
简单写出算法,结果他要最少最简洁的if判断我只能做出3个,还能有更简洁的吗?
or 我没理解他的意思。
int x=3*5 ;
if (vale%x==0 ) {
System.out.println(yes+no) ;
} else if (vale%3==0) {
{
System.out.println(yes) ;
} else if (vale%5==0) {
System.out.println(no) ;
}
他说这样acceptable。
说出test case。
2.这题彻底搞挂了。但是个人觉得出的很好
有一个 string 存了magazine杂志上的word
一个string 存word,判断 word在不在magazine 里
boolean findword(String magazine , String word)
我已开始用A[256]字母,之后他强调是word。
我提出hashmap,他说不够好。最后我说用 Trie
俺又彻底忘了函数。
结果 后来没时间了,他说用hashmap 比较快完成
就用hashmap。
写的过程中,他强调,magazine 中的 word 用空格分开。
我的先取出来。
我彻底忘了用 regular exp来分
只能用char[] 来分。
他就说算了。
写hashmap的时候又把基本函数给忘了。只能写出近似的函数名。
完成了之后,写test case
这道题好的地方,可以考hashmap 也可以考 trie,还考了reg exp 个人觉得不错。
反正经验教训。
本来开头聊经历聊得很好的。哎,一开始都是impressive。
x*****s
发帖数: 125
2
for (int i = 1; i <= 100; ++i) {
if ( value % 3 == 0) {
System.out.print(yes);
}
if ( value % 5 == 0) {
System.out.print(no);
}
System.out.println();
}
a***w
发帖数: 168
3
第二题难道不是直接用 String.split就可以把magzine给tokenize了么

【在 s*********d 的大作中提到】
: 没什么说的,自己没准备好。新近IPO 公司
: 电面挂了,阿三面的但是很nice
: 1. 从1-100 ,3的倍数输出yes 5的倍数输出no
: 同时满足 输出yes no 同一行。
: 简单写出算法,结果他要最少最简洁的if判断我只能做出3个,还能有更简洁的吗?
: or 我没理解他的意思。
: int x=3*5 ;
: if (vale%x==0 ) {
: System.out.println(yes+no) ;
: } else if (vale%3==0) {

u*****o
发帖数: 1224
4
为啥必须要用REGULAR EXPRESSION啊?用ISSPACE(char)不就分开了吗?

【在 s*********d 的大作中提到】
: 没什么说的,自己没准备好。新近IPO 公司
: 电面挂了,阿三面的但是很nice
: 1. 从1-100 ,3的倍数输出yes 5的倍数输出no
: 同时满足 输出yes no 同一行。
: 简单写出算法,结果他要最少最简洁的if判断我只能做出3个,还能有更简洁的吗?
: or 我没理解他的意思。
: int x=3*5 ;
: if (vale%x==0 ) {
: System.out.println(yes+no) ;
: } else if (vale%3==0) {

l*****i
发帖数: 84
5
一直不明白,电面不是只是打电话吗?如何写代码答题啊??光凭脑子想象吗?
s*********d
发帖数: 2406
6
当时有点傻掉了
哎,我每次面试都这样。
老想着 regular 的东西了

【在 u*****o 的大作中提到】
: 为啥必须要用REGULAR EXPRESSION啊?用ISSPACE(char)不就分开了吗?
z****e
发帖数: 54598
7
if(x%3==0) System.out.print("yes");
if(x%5==0) System.out.print("no");
System.out.println("");
z****e
发帖数: 54598
8
第二个用hashset比较好过hashmap
不过底层是一个东西,但是比较好写
contains比containsKey少几个字母
u*****o
发帖数: 1224
9
没关系啦LZ,我心里素质也不好,面试不如平时的水平好,就使劲练不放弃,
一起加油吧

【在 s*********d 的大作中提到】
: 没什么说的,自己没准备好。新近IPO 公司
: 电面挂了,阿三面的但是很nice
: 1. 从1-100 ,3的倍数输出yes 5的倍数输出no
: 同时满足 输出yes no 同一行。
: 简单写出算法,结果他要最少最简洁的if判断我只能做出3个,还能有更简洁的吗?
: or 我没理解他的意思。
: int x=3*5 ;
: if (vale%x==0 ) {
: System.out.println(yes+no) ;
: } else if (vale%3==0) {

w****h
发帖数: 15
10
1. 分别输出循环总次数最少。判断最少。
int i;
for ( i=1; i<=100; i*=3)
System.out.println("yes");
for ( i =1; i<=100; i*=5)
System.out.println("no");
for( i =1; i <= 100; i*=15)
System.out.println("yes no");
相关主题
贡献个facebook电话interviewString list如何排序
问个google老题的最佳解法Implement strStr() ?
strstr的复杂度和worst case是什么?能不能讨论一下kmp
进入JobHunting版参与讨论
a*****u
发帖数: 1712
11
有一个 string 存了magazine杂志上的word
一个string 存word,判断 word在不在magazine 里
boolean findword(String magazine , String word)
你这个题目的point不是啥regular expression,想把magazine分成word,split就好了
,根本不应该用精力在这里的。
是想考察你会不会用hashset,然后问你时间空间复杂度。
完后有时间,估计想问你,如果magazine很大,你怎么解决。在这里,才轮到trie什么
的,trie只是方法之一,你还可以说别的。
n*****a
发帖数: 55
12
这个有bug吧

【在 w****h 的大作中提到】
: 1. 分别输出循环总次数最少。判断最少。
: int i;
: for ( i=1; i<=100; i*=3)
: System.out.println("yes");
: for ( i =1; i<=100; i*=5)
: System.out.println("no");
: for( i =1; i <= 100; i*=15)
: System.out.println("yes no");

c********p
发帖数: 1969
13
Mark. 请问是哪家
f********r
发帖数: 27
14
是不是想让你说kmp啊。。
a*****u
发帖数: 1712
15
I don't think so

【在 f********r 的大作中提到】
: 是不是想让你说kmp啊。。
s*********d
发帖数: 2406
16
这个不能用hashset 吧
同个word 有重复的, 你要统计数量
比如 : magazine : a b c c d p
randomword: adcc

【在 a*****u 的大作中提到】
: I don't think so
s*********d
发帖数: 2406
17
更新
public boolean findword(String randomletter, String magazine) {

HashMap magaword=new HashMap() ;
String[] words=magazine.split("\ ") ;
for (String word:words){
if (!magaword.containsKey(word)){
magaword.put(word,1) ;
} else {
int cout= magaword.get(word);
cout++ ;
magaword.put(word, cout) ;
}
}

String[] radoml=randomletter.split("\ ") ;
for (String word: radoml){
if (!magaword.containsKey(word)){
return false ;
} else {
int count=magaword.get(word);
if (count<=0) return false ;
else {
count-- ;
magaword.put(word, count) ;
}
}
}

return true ;
}
f********r
发帖数: 27
18
why?面试官不是说hashmap不够好吗?。。

I don't think so

【在 a*****u 的大作中提到】
: I don't think so
J****3
发帖数: 427
19
为啥KMP不行啊 感觉就是模式匹配啊

【在 a*****u 的大作中提到】
: I don't think so
r*******e
发帖数: 7583
20
你这个写的是ransom note了
原题就是简单的dict lookup吧

【在 s*********d 的大作中提到】
: 更新
: public boolean findword(String randomletter, String magazine) {
:
: HashMap magaword=new HashMap() ;
: String[] words=magazine.split("\ ") ;
: for (String word:words){
: if (!magaword.containsKey(word)){
: magaword.put(word,1) ;
: } else {
: int cout= magaword.get(word);

相关主题
FB面试题一道 求解急问,Boggle (crossword)的解题思路?
一道电面题,分享下, 这个题应该用哪几个data structure?字典里找子串怎么解?generalized suffix tree?
Java programming question[bssd]说个极品面经,paypal的
进入JobHunting版参与讨论
h******s
发帖数: 86
21
好像是耶

【在 n*****a 的大作中提到】
: 这个有bug吧
p*****2
发帖数: 21240
22

感觉KMP应该可以呀。内存占用少多了。不过你需要判断前后要是空格或者起点,终点
吧。感觉不是这题考察的目的。

【在 J****3 的大作中提到】
: 为啥KMP不行啊 感觉就是模式匹配啊
s*********d
发帖数: 2406
23
我详细说原题是
绑架的人,都会选letter from magazine 来写勒索信
你要判断letter 里边所有的 word 都在 某个magazine 出现过。而且次数要少于or等
于magazine的出现的次数。

【在 r*******e 的大作中提到】
: 你这个写的是ransom note了
: 原题就是简单的dict lookup吧

J****3
发帖数: 427
24
这样的话确实是hash_table啊 遍历letter里的所有charac 存进hashtable里 再去
magzine里去查?

【在 s*********d 的大作中提到】
: 我详细说原题是
: 绑架的人,都会选letter from magazine 来写勒索信
: 你要判断letter 里边所有的 word 都在 某个magazine 出现过。而且次数要少于or等
: 于magazine的出现的次数。

J****3
发帖数: 427
25
恩恩 二爷说的是。如果这题确实是考察模式匹配, 二爷你觉得用KMP还是RK还是别的
?个人感觉RK比较容易实现点

【在 p*****2 的大作中提到】
:
: 感觉KMP应该可以呀。内存占用少多了。不过你需要判断前后要是空格或者起点,终点
: 吧。感觉不是这题考察的目的。

l*****s
发帖数: 279
26
Does it work for Problem 1? No if at all. But there is a switch.
int[] n = new int[100];
int i = 2;
while (i < 100) {
n[i] = 3;
i += 3;
}
i = 4;
while (i < 100) {
n[i] += 5;
i += 5;
}

for (i=0; i<100; i++) {
switch (n[i]){
case 3:
System.out.println("yes");
break;
case 5:
System.out.println("no");
break;
case 8:
System.out.println("yes no");
break;
}
}
p*****2
发帖数: 21240
27

我觉得两个都提一下吧。看面试官想让你写哪个?

【在 J****3 的大作中提到】
: 恩恩 二爷说的是。如果这题确实是考察模式匹配, 二爷你觉得用KMP还是RK还是别的
: ?个人感觉RK比较容易实现点

s*********d
发帖数: 2406
28
怎么是 hash_table.
他一开始的 example 是maga a b c d a
random a c
我说 用letter A[256]
他马上说
用 maga alpha beta beta。。。。 这种
random alpha beta。
我的理解, hashtable 是判断有没有 include 没有判断出现次数
当然你可以加上 array 来 判断。

【在 J****3 的大作中提到】
: 这样的话确实是hash_table啊 遍历letter里的所有charac 存进hashtable里 再去
: magzine里去查?

p*****2
发帖数: 21240
29

你能不能给个例子?我都没看懂倒是是搞什么。如果你能给个输入,输出例子最好了。

【在 s*********d 的大作中提到】
: 怎么是 hash_table.
: 他一开始的 example 是maga a b c d a
: random a c
: 我说 用letter A[256]
: 他马上说
: 用 maga alpha beta beta。。。。 这种
: random alpha beta。
: 我的理解, hashtable 是判断有没有 include 没有判断出现次数
: 当然你可以加上 array 来 判断。

s*********d
发帖数: 2406
30
/**
Sample input:
他举得first example
magazineArticle - a b c d
ransomLetter - a c a
output - false
我用说出用字母表 array来做之后。
magazineArticle - alpha beta caesar delta
[alpha
beta
caesar
delta]
ransomLetter - alpha caesar
output - true
magazineArticle - alpha beta caesar delta
ransomLetter - alpha caesar bd
output - false
还说了,要考虑alpha 等的出现次数。
相关主题
为什么面试题目都答出来了还是跪了?一道题目
求问FB题目facebook一题
F电面Amazon常见设计题——设计电话簿求解
进入JobHunting版参与讨论
p*****2
发帖数: 21240
31

按照原帖的题意,第二个参数是个word呀。怎么你的例子里面有空格?
--------------
有一个 string 存了magazine杂志上的word
一个string 存word,判断 word在不在magazine 里
boolean findword(String magazine , String word)

【在 s*********d 的大作中提到】
: /**
: Sample input:
: 他举得first example
: magazineArticle - a b c d
: ransomLetter - a c a
: output - false
: 我用说出用字母表 array来做之后。
: magazineArticle - alpha beta caesar delta
: [alpha
: beta

s*********d
发帖数: 2406
32
sorry 我改了一下 function
他给出的function
boolean doesArticleContainLetter(
String ransomLetter,
String magazineArticle
)
你说的 第二个参数? magazineArticle ?
当时他跟我说的是,有空格,你要先分开。

【在 p*****2 的大作中提到】
:
: 按照原帖的题意,第二个参数是个word呀。怎么你的例子里面有空格?
: --------------
: 有一个 string 存了magazine杂志上的word
: 一个string 存word,判断 word在不在magazine 里
: boolean findword(String magazine , String word)

p*****2
发帖数: 21240
33

说了半天ransomLetter也是几个单词吗?中间有空格?然后看是不是所有的单词都在
magazineArticle里?
如果这样就是hashtable就行了呀。

【在 s*********d 的大作中提到】
: sorry 我改了一下 function
: 他给出的function
: boolean doesArticleContainLetter(
: String ransomLetter,
: String magazineArticle
: )
: 你说的 第二个参数? magazineArticle ?
: 当时他跟我说的是,有空格,你要先分开。

l*****a
发帖数: 14598
34
弄不清题意的题旧不要费时间了吧。
原题估计是23楼吧

【在 p*****2 的大作中提到】
:
: 说了半天ransomLetter也是几个单词吗?中间有空格?然后看是不是所有的单词都在
: magazineArticle里?
: 如果这样就是hashtable就行了呀。

r**h
发帖数: 1288
35
第一题是著名的FizzBuzz呀,经常拿来玩Code Golf的
给一个Perl实现的目前最短解:
print+(Yes)[$_%3].(No)[$_%5]||$_,$/for 1..1e2

【在 s*********d 的大作中提到】
: 没什么说的,自己没准备好。新近IPO 公司
: 电面挂了,阿三面的但是很nice
: 1. 从1-100 ,3的倍数输出yes 5的倍数输出no
: 同时满足 输出yes no 同一行。
: 简单写出算法,结果他要最少最简洁的if判断我只能做出3个,还能有更简洁的吗?
: or 我没理解他的意思。
: int x=3*5 ;
: if (vale%x==0 ) {
: System.out.println(yes+no) ;
: } else if (vale%3==0) {

u*****o
发帖数: 1224
36
和大家分享网上看来的最短解,C++的,竟然一个IF也没用
#include
int main(){
for(int i = 1 ; i <= 100 ; ++i) ( (i%5)? ((i%3)?(cout << i):(cout << "
no")): cout << ((i%3)? "yes": "yes and no")) << endl;
}
z****e
发帖数: 54598
37
?在我看来就算是if了

"

【在 u*****o 的大作中提到】
: 和大家分享网上看来的最短解,C++的,竟然一个IF也没用
: #include
: int main(){
: for(int i = 1 ; i <= 100 ; ++i) ( (i%5)? ((i%3)?(cout << i):(cout << "
: no")): cout << ((i%3)? "yes": "yes and no")) << endl;
: }

u*****o
发帖数: 1224
38
也是,而且特别难懂,我看了好半天,才把句子截开。

【在 z****e 的大作中提到】
: ?在我看来就算是if了
:
: "

l*****a
发帖数: 14598
39
这样的code容易维护吗?

"

【在 u*****o 的大作中提到】
: 和大家分享网上看来的最短解,C++的,竟然一个IF也没用
: #include
: int main(){
: for(int i = 1 ; i <= 100 ; ++i) ( (i%5)? ((i%3)?(cout << i):(cout << "
: no")): cout << ((i%3)? "yes": "yes and no")) << endl;
: }

r*c
发帖数: 167
40
RK肯定好写些,尽管它比KMP要慢不少。
前些天看到一个帖子,把RK的实现搞得特麻烦。下面贴个改进的,其中hash function
可替换,只要把各个char的信息都用到就好了。
class RobinKarpSolution
{
public:
char *strStr(char *haystack, char *needle) {
int nHSLen = strlen(haystack), nNDLen = strlen(needle);
if(nNDLen > nHSLen) return NULL;
int h_hash, n_hash = hashAString(needle, nNDLen, 0);
for(int i = 0; i <= nHSLen-nNDLen; ++i){
h_hash = hashAString(haystack, nNDLen, i);
if(n_hash == h_hash) {
if(!CheckSegment(haystack, i, needle, 0, nNDLen))
continue;
else
return m_ptr;
}
h_hash = hashAString(haystack, nNDLen, i);
}
return NULL;
}
private:
char *m_ptr;
int hashAString(const char *ptr, int nNDLen, int ibase)
{
int n_hash = 0;
for(int i = ibase; i < ibase + nNDLen; ++i)
n_hash = (n_hash * 26 + ptr[i]) % 997;
return n_hash;
}
bool CheckSegment( char *ptr1, int ibase, const char * ptr2, int jbase,
int nNDLen)
{
int k;
bool bEqual = true;
for(k = jbase; k < jbase + nNDLen; ++k){
if(ptr1[ibase + k] != ptr2[k]){
bEqual = false;
break;
}
}
if(bEqual)
m_ptr = ptr1 + (ibase + k -nNDLen);
return bEqual;
}
};

【在 J****3 的大作中提到】
: 恩恩 二爷说的是。如果这题确实是考察模式匹配, 二爷你觉得用KMP还是RK还是别的
: ?个人感觉RK比较容易实现点

相关主题
Amazon常见设计题——设计电话簿求解问个google老题的最佳解法
上午偷闲把TopKFrequentWords写出来了strstr的复杂度和worst case是什么?
贡献个facebook电话interviewString list如何排序
进入JobHunting版参与讨论
n**********e
发帖数: 88
41
Question 1:
num%15==0?"yes no":(num%3==0?"yes":(num%5==0?"no":""));
there is no "if" at all.
a******e
发帖数: 710
42
第一题的恶心c++解法。。
string ss[101];
for (int i=3; i<=100; i+=3)
ss[i].append("yes");
for (int i=15; i<=100; i+=15)
ss[i].append(" ");
for (int i=5; i<=100; i+=5)
ss[i].append("no");
for (int i=1; i<=100; ++i) {
ss[i].append(string((i%3==0)|(i%5==0)&1, 'n'));
if (ss[i].size()!=0)
cout< cout< }

【在 s*********d 的大作中提到】
: 没什么说的,自己没准备好。新近IPO 公司
: 电面挂了,阿三面的但是很nice
: 1. 从1-100 ,3的倍数输出yes 5的倍数输出no
: 同时满足 输出yes no 同一行。
: 简单写出算法,结果他要最少最简洁的if判断我只能做出3个,还能有更简洁的吗?
: or 我没理解他的意思。
: int x=3*5 ;
: if (vale%x==0 ) {
: System.out.println(yes+no) ;
: } else if (vale%3==0) {

1 (共1页)
进入JobHunting版参与讨论
相关主题
字典里找子串怎么解?generalized suffix tree?上午偷闲把TopKFrequentWords写出来了
[bssd]说个极品面经,paypal的贡献个facebook电话interview
为什么面试题目都答出来了还是跪了?问个google老题的最佳解法
求问FB题目strstr的复杂度和worst case是什么?
F电面String list如何排序
一道题目Implement strStr() ?
facebook一题能不能讨论一下kmp
Amazon常见设计题——设计电话簿求解FB面试题一道 求解
相关话题的讨论汇总
话题: string话题: int话题: word话题: nndlen话题: yes