s*******m 发帖数: 228 | 1 在一个8*8的棋盘上给两个坐标和一个integer k,返回一共有多少种不同走法,走k步
从一个坐标到另一个坐标。用dfs,然后问复杂度。
然后follow up怎么降低复杂度。.
-----------别人的面经----------
不知道可不可以重复走过一个点。
为什么是8*8呢 | n******n 发帖数: 12088 | 2 国际象棋。这种没头没脑的面试题不做也罢。
【在 s*******m 的大作中提到】 : 在一个8*8的棋盘上给两个坐标和一个integer k,返回一共有多少种不同走法,走k步 : 从一个坐标到另一个坐标。用dfs,然后问复杂度。 : 然后follow up怎么降低复杂度。. : -----------别人的面经---------- : 不知道可不可以重复走过一个点。 : 为什么是8*8呢
| y*****e 发帖数: 712 | | s*******m 发帖数: 228 | 4 不是大牛
【在 y*****e 的大作中提到】 : 大牛开始申snapchat了呀
| s*******m 发帖数: 228 | 5 求解释。。。
求思路
【在 n******n 的大作中提到】 : 国际象棋。这种没头没脑的面试题不做也罢。
| Y**G 发帖数: 1089 | 6 react.js
class Point {
int x;
int y;
public Point(int x, int y) {
this.x = x;
this.y = y;
}
public boolean equals(Object other) {
return (other instance Point) && ((Point)oher).x == this.x && ((
Point)oher).y == this.y;
}
}
boolean isValid(Point p) {
return (p.x >= 0 && p.x < 8 && p.y >= 0 && p.y < 8);
}
Point delta(Point p, int deltaX, int deltaY) {
new Point(p.x + deltaX, p.y + deltaY);
}
f(p1, p2, k) {
if (k == 0) {
return p1.equals(p2)?1:0;
}
if (!isValid(p1)) {
return 0;
}
return f(delta(p1, 1, 1), p2, k-1) + f(delta(p1, 1, -1), p2, k-1) + f(
delta(p1, -1, 1), p2, k-1) + f(delta(p1, -1, -1), p2, k-1);
} | k****r 发帖数: 807 | | P******r 发帖数: 1342 | | s*******m 发帖数: 228 | 9 求思路
【在 P******r 的大作中提到】 : 这个可以用dp啊
| R*********d 发帖数: 34 | 10 应该是
return f(delta(p1, 0, 1), p2, k-1) + f(delta(p1, 0, -1), p2, k-1) + f(
delta(p1, -1, 0), p2, k-1) + f(delta(p1, 1, 0), p2, k-1);
【在 Y**G 的大作中提到】 : react.js : class Point { : int x; : int y; : public Point(int x, int y) { : this.x = x; : this.y = y; : } : public boolean equals(Object other) { : return (other instance Point) && ((Point)oher).x == this.x && ((
| A*******e 发帖数: 2419 | 11 怎么老发些描述不清的题目?什么是一个走法?马走日,象走田?
【在 s*******m 的大作中提到】 : 在一个8*8的棋盘上给两个坐标和一个integer k,返回一共有多少种不同走法,走k步 : 从一个坐标到另一个坐标。用dfs,然后问复杂度。 : 然后follow up怎么降低复杂度。. : -----------别人的面经---------- : 不知道可不可以重复走过一个点。 : 为什么是8*8呢
|
|