由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 问一道题
相关主题
A家on-site SDE 杯具给出最短的字符串表示k位a进制数的所有表示形式
map numbers to stringsFacebook phone screen
汗,不问算法排列组合害死人啊
what's the output问个string combination的问题
问一道C++编程题Ask an interveiw question: finding phone number
大家看看这几道google面试题怎么做?Interview exposed上的code写的也不怎么样呀?
三星面经发个Twitter的面试题
G 常见题问优化算法思路,谢谢[合集] 微软Phone Internew问题
相关话题的讨论汇总
话题: instr话题: dic话题: k%话题: int话题: def
进入JobHunting版参与讨论
1 (共1页)
k**********i
发帖数: 177
1
就是那个电话号码 生成字符串的算法是啥,还是不太清楚
比如 号码是2 3,
就生成ad ae af bd be bf。。。
还是不太明白怎么做这个题
b******v
发帖数: 1493
2
用 trie tree

【在 k**********i 的大作中提到】
: 就是那个电话号码 生成字符串的算法是啥,还是不太清楚
: 比如 号码是2 3,
: 就生成ad ae af bd be bf。。。
: 还是不太明白怎么做这个题

k***e
发帖数: 556
3
check "programming interview exposed" for detailed solution

【在 k**********i 的大作中提到】
: 就是那个电话号码 生成字符串的算法是啥,还是不太清楚
: 比如 号码是2 3,
: 就生成ad ae af bd be bf。。。
: 还是不太明白怎么做这个题

k**********i
发帖数: 177
4
这个构造tree的话 会很麻烦吧?

【在 b******v 的大作中提到】
: 用 trie tree
s*********t
发帖数: 1663
5
弄两个队列
打印就可以了

【在 k**********i 的大作中提到】
: 就是那个电话号码 生成字符串的算法是啥,还是不太清楚
: 比如 号码是2 3,
: 就生成ad ae af bd be bf。。。
: 还是不太明白怎么做这个题

k**********i
发帖数: 177
6
我刚想的是 可以看成是一个三进制的加法去 每次加1去找对应的字符串吧。。。复杂
度刚好就是
找的次数。

【在 s*********t 的大作中提到】
: 弄两个队列
: 打印就可以了

s*********t
发帖数: 1663
7
good!
我居然构造了个tree然后dfs...
aaaaaaaaaaaaaaaa

【在 k**********i 的大作中提到】
: 我刚想的是 可以看成是一个三进制的加法去 每次加1去找对应的字符串吧。。。复杂
: 度刚好就是
: 找的次数。

s*********t
发帖数: 1663
8
这下完了
前几天面试做的这个题
难怪没下文了

【在 s*********t 的大作中提到】
: good!
: 我居然构造了个tree然后dfs...
: aaaaaaaaaaaaaaaa

r****o
发帖数: 1950
9
没看明白,求详解。

【在 k**********i 的大作中提到】
: 我刚想的是 可以看成是一个三进制的加法去 每次加1去找对应的字符串吧。。。复杂
: 度刚好就是
: 找的次数。

k**********i
发帖数: 177
10
我epic的时候也做得这个题。。。结果当时不太会, 果然就悲剧了。。。

【在 s*********t 的大作中提到】
: 这下完了
: 前几天面试做的这个题
: 难怪没下文了

相关主题
大家看看这几道google面试题怎么做?给出最短的字符串表示k位a进制数的所有表示形式
三星面经Facebook phone screen
G 常见题问优化算法思路,谢谢排列组合害死人啊
进入JobHunting版参与讨论
s*********t
发帖数: 1663
11
不过我觉得我做的题目结果应该是对的
要是挂了多半是因为书写比较潦草。。以前没在纸上写过程序

【在 k**********i 的大作中提到】
: 我epic的时候也做得这个题。。。结果当时不太会, 果然就悲剧了。。。
k**********i
发帖数: 177
12
我觉得epic的招人过程就很神奇

【在 s*********t 的大作中提到】
: 不过我觉得我做的题目结果应该是对的
: 要是挂了多半是因为书写比较潦草。。以前没在纸上写过程序

d**e
发帖数: 6098
13
可以解释一下吗?谢谢

【在 k**********i 的大作中提到】
: 我刚想的是 可以看成是一个三进制的加法去 每次加1去找对应的字符串吧。。。复杂
: 度刚好就是
: 找的次数。

s*********t
发帖数: 1663
14
离我太远了,给onsite也不现实。。

【在 k**********i 的大作中提到】
: 我觉得epic的招人过程就很神奇
k**********i
发帖数: 177
15
我也是的。。。太远。。。

【在 s*********t 的大作中提到】
: 离我太远了,给onsite也不现实。。
k**********i
发帖数: 177
16
我的意思是, 加入就有一个3位的电话号码, 给了3位后 我就能确定是那几个键了,
比如234,
那么对应的就应该是 abc def ghi,
000 -》 adg
001 -》 adh
002 -》 adi
。。。
然后从ooo开始每次加1就能找到对应的那个字符串了

【在 r****o 的大作中提到】
: 没看明白,求详解。
d**e
发帖数: 6098
17
这里是用 hash ?
你前面说的三进制是什么意思?



【在 k**********i 的大作中提到】
: 我的意思是, 加入就有一个3位的电话号码, 给了3位后 我就能确定是那几个键了,
: 比如234,
: 那么对应的就应该是 abc def ghi,
: 000 -》 adg
: 001 -》 adh
: 002 -》 adi
: 。。。
: 然后从ooo开始每次加1就能找到对应的那个字符串了

k**********i
发帖数: 177
18
比如234,
010 -》aei
011 -> aeh
不需要hash吧。。。就是一个数 n ++, 然后给出3进制的形式 然后找对应的字符串
s*********t
发帖数: 1663
19
手算
我写了一个
def printCombo(instr):
dic = ("","","ABC","DEF","GHI","JKL","MNO","PQRS","TUV","WXYZ")
s = []
n = 1
for i in instr:
s.append(dic[i][0])
n *= len(dic[i])

for i in range(n):
print ''.join(s)
for j in range(len(s)-1,-1,-1):
s[j] = chr( ord(s[j])+1 )
if dic[ instr[j] ].find(s[j])==-1:
s[j] = dic[ instr[j] ][0]
else:
break


instr = [2, 3, 4, 5]
print

【在 d**e 的大作中提到】
: 这里是用 hash ?
: 你前面说的三进制是什么意思?
:
: ,

k**********i
发帖数: 177
20
加入电话号码就是三位
define phone_number_length 3
void pringCom(int num[])
{
char result[3] ={'\0'};
int b[3]= {0,0,0};
int n=0;
while (1)
{
int k =n;
b[2] = k%3;
k = k/3;
b[1] = k%3;
k = k/3;
b[0] = k%3;


int i;
for (i =0; i<3;i++)
{
result[i] = getChar(num[i], b[i]);
printf ("%s", result[i]);
}
printf ("\n");
n++;
if (n > ?) //这里就是总共的个数
break;
}
}

【在 s*********t 的大作中提到】
: 手算
: 我写了一个
: def printCombo(instr):
: dic = ("","","ABC","DEF","GHI","JKL","MNO","PQRS","TUV","WXYZ")
: s = []
: n = 1
: for i in instr:
: s.append(dic[i][0])
: n *= len(dic[i])
:

相关主题
问个string combination的问题发个Twitter的面试题
Ask an interveiw question: finding phone number[合集] 微软Phone Internew问题
Interview exposed上的code写的也不怎么样呀?几道微软面试题
进入JobHunting版参与讨论
j**l
发帖数: 2911
21
想象一个电表,从0000跳到9999的过程,最右边的那个变得最快,到了9后开始归0,左
边一个升1
你可以把这题看成一个三叉树的遍历,也可以看成三进制数的累加过程
用递归和用迭代都可以实现
s*********t
发帖数: 1663
22
输入长度是事先不知道的

【在 k**********i 的大作中提到】
: 加入电话号码就是三位
: define phone_number_length 3
: void pringCom(int num[])
: {
: char result[3] ={'\0'};
: int b[3]= {0,0,0};
: int n=0;
: while (1)
: {
: int k =n;

k**********i
发帖数: 177
23
恩。。举个例子

【在 s*********t 的大作中提到】
: 输入长度是事先不知道的
y**i
发帖数: 1112
24
感觉像bitmap一样?当然bit是2进制
但是7和9是对应4个字母,比较特殊,这里怎么办?

【在 k**********i 的大作中提到】
: 比如234,
: 010 -》aei
: 011 -> aeh
: 不需要hash吧。。。就是一个数 n ++, 然后给出3进制的形式 然后找对应的字符串

k**********i
发帖数: 177
25
哪能不能完全看成4进制来, 就是把3个的补成四个, 但是只有3个的就不输出第四个
的情况?

【在 y**i 的大作中提到】
: 感觉像bitmap一样?当然bit是2进制
: 但是7和9是对应4个字母,比较特殊,这里怎么办?

y**i
发帖数: 1112
26
能不能这样,每一位的进制不一样,根据输入的数字从一个lookup table可以查到。

【在 k**********i 的大作中提到】
: 哪能不能完全看成4进制来, 就是把3个的补成四个, 但是只有3个的就不输出第四个
: 的情况?

s*********t
发帖数: 1663
27
看前面我写的python代码

【在 y**i 的大作中提到】
: 感觉像bitmap一样?当然bit是2进制
: 但是7和9是对应4个字母,比较特殊,这里怎么办?

y**i
发帖数: 1112
28
你的代码里k%3可以改成k%d[num[2]],// d[] = {0, 0, 3, 3, 3, 3, 3, 4, 3, 9};

【在 k**********i 的大作中提到】
: 加入电话号码就是三位
: define phone_number_length 3
: void pringCom(int num[])
: {
: char result[3] ={'\0'};
: int b[3]= {0,0,0};
: int n=0;
: while (1)
: {
: int k =n;

k**********i
发帖数: 177
29
恩。。。好主意

【在 y**i 的大作中提到】
: 你的代码里k%3可以改成k%d[num[2]],// d[] = {0, 0, 3, 3, 3, 3, 3, 4, 3, 9};
y**i
发帖数: 1112
30
我python都忘光了。。。

【在 s*********t 的大作中提到】
: 看前面我写的python代码
1 (共1页)
进入JobHunting版参与讨论
相关主题
[合集] 微软Phone Internew问题问一道C++编程题
几道微软面试题大家看看这几道google面试题怎么做?
[合集] PayPal@eBay onsite(失败)题目和经验三星面经
[合集] 面试,C语言的书有什么推荐的G 常见题问优化算法思路,谢谢
A家on-site SDE 杯具给出最短的字符串表示k位a进制数的所有表示形式
map numbers to stringsFacebook phone screen
汗,不问算法排列组合害死人啊
what's the output问个string combination的问题
相关话题的讨论汇总
话题: instr话题: dic话题: k%话题: int话题: def