Z**********4 发帖数: 528 | 1 msft:
reverse string里面的words
经典的那个。
amazon:
一面: 概念题, ood设计题, regular expressions sql
二面: 打印从棋盘的一个角落到另一个角落所有路径
三面: 有一个dictionary, 从一个given start word 怎么变换到一个 end word 类似
于
edit distance 但是简单些 所有的words都是4个字母。 要求每次变换得到的
中间 word都是字典里面的。每次只能变换一个字母。 |
H****s 发帖数: 247 | |
e***s 发帖数: 799 | |
f*******t 发帖数: 7549 | |
a**********2 发帖数: 340 | |
f********e 发帖数: 166 | |
y*******g 发帖数: 6599 | 7 bfs
【在 f********e 的大作中提到】 : 三面那个题怎么解啊?
|
r******n 发帖数: 170 | 8 大牛,能大致写个伪码结构给参考下吗?
【在 y*******g 的大作中提到】 : bfs
|
l*****a 发帖数: 14598 | 9 常见题,不需要大牛
自己去看careercup150
【在 r******n 的大作中提到】 : 大牛,能大致写个伪码结构给参考下吗?
|
s*******f 发帖数: 1114 | 10 // 打印从棋盘的一个角落到另一个角落所有路径
// this is toooooo hard, seems NP hard. cannot be DP
// if chess can only go right or down, here it is
struct Point{
int x;
int y;
Point(int xx, int yy):x(xx),y(yy){ };
friend bool operator== (Point &p1, Point &p2);
};
bool operator== (Point &p1, Point &p2){
return p1.x == p2.x && p1.y == p2.y;
}
void PrintPoint(Point &p){
printf("(%d, %d)", p.x, p.y);
}
void PrintAllChessPath(Point &p1, Point &p2){
static vector path;
path.push_back(p1);
if (p1 == p2){
for_each(path.begin(), path.end(), PrintPoint);
printf("\n");
path.pop_back();
return;
}
if (p1.x < p2.x){
PrintAllChessPath(Point(p1.x + 1, p1.y), p2);
}
if (p1.y < p2.y){
PrintAllChessPath(Point(p1.x, p1.y + 1), p2);
}
path.pop_back();
} |
|
|
q****x 发帖数: 7404 | 11 慢。
【在 y*******g 的大作中提到】 : bfs
|
y*******g 发帖数: 6599 | 12 你给个解法?
【在 q****x 的大作中提到】 : 慢。
|
Z**********4 发帖数: 528 | 13 msft:
reverse string里面的words
经典的那个。
amazon:
一面: 概念题, ood设计题, regular expressions sql
二面: 打印从棋盘的一个角落到另一个角落所有路径
三面: 有一个dictionary, 从一个given start word 怎么变换到一个 end word 类似
于
edit distance 但是简单些 所有的words都是4个字母。 要求每次变换得到的
中间 word都是字典里面的。每次只能变换一个字母。 |
H****s 发帖数: 247 | |
e***s 发帖数: 799 | |
f*******t 发帖数: 7549 | |
a**********2 发帖数: 340 | |
f********e 发帖数: 166 | |
y*******g 发帖数: 6599 | 19 bfs
【在 f********e 的大作中提到】 : 三面那个题怎么解啊?
|
r******n 发帖数: 170 | 20 大牛,能大致写个伪码结构给参考下吗?
【在 y*******g 的大作中提到】 : bfs
|
|
|
l*****a 发帖数: 14598 | 21 常见题,不需要大牛
自己去看careercup150
【在 r******n 的大作中提到】 : 大牛,能大致写个伪码结构给参考下吗?
|
s*******f 发帖数: 1114 | 22 // 打印从棋盘的一个角落到另一个角落所有路径
// this is toooooo hard, seems NP hard. cannot be DP
// if chess can only go right or down, here it is
struct Point{
int x;
int y;
Point(int xx, int yy):x(xx),y(yy){ };
friend bool operator== (Point &p1, Point &p2);
};
bool operator== (Point &p1, Point &p2){
return p1.x == p2.x && p1.y == p2.y;
}
void PrintPoint(Point &p){
printf("(%d, %d)", p.x, p.y);
}
void PrintAllChessPath(Point &p1, Point &p2){
static vector path;
path.push_back(p1);
if (p1 == p2){
for_each(path.begin(), path.end(), PrintPoint);
printf("\n");
path.pop_back();
return;
}
if (p1.x < p2.x){
PrintAllChessPath(Point(p1.x + 1, p1.y), p2);
}
if (p1.y < p2.y){
PrintAllChessPath(Point(p1.x, p1.y + 1), p2);
}
path.pop_back();
} |
q****x 发帖数: 7404 | 23 慢。
【在 y*******g 的大作中提到】 : bfs
|
y*******g 发帖数: 6599 | 24 你给个解法?
【在 q****x 的大作中提到】 : 慢。
|
x*******7 发帖数: 223 | 25 第三题这种是要思路/伪代码,还是code?
【在 Z**********4 的大作中提到】 : msft: : reverse string里面的words : 经典的那个。 : amazon: : 一面: 概念题, ood设计题, regular expressions sql : 二面: 打印从棋盘的一个角落到另一个角落所有路径 : 三面: 有一个dictionary, 从一个given start word 怎么变换到一个 end word 类似 : 于 : edit distance 但是简单些 所有的words都是4个字母。 要求每次变换得到的 : 中间 word都是字典里面的。每次只能变换一个字母。
|