avatar
B*n
1
悲剧了,贴出来攒点人品
顺便大家帮忙分析下题目难度,还有我的回答有没有什么低级错误。除了LRU在
leetcode上有,其他的我都不知道该说简单呢还是难呢,看到要实现memcpy然后就吓了
一跳。
1. switch的工作原理流程。
2. 估计挂在这里了。
1). 生死棋盘游戏。
我只想到最简单的方法,遍历所有cell,根据规则更新棋盘是生是死。还有别的更好方
法吗?
2). 生成迷宫,基本上不怎么会。
我先说随机生成0/1。但可能会出现迷宫不可解的情况,然后我就差不多挂了。
求更好方法。
3. 从文件中读入记录,然后生成树,计算pathsum,
文件记录格式,node, parent, weight.
然后讨论一些特殊的情况。
4. LRU实现,我其中用的了map,顺便写一个hash table实现map。
我其中有一行出现了bug,删除的时候忘记更新map了。
5. 实现memcpy,这个比较没头绪,不知道要考啥,先写一个最简单的
大概是 *dst = *src, 之类的,然后问怎么优化让他更快点,
因为刚开始用的是 char 的指针,我说把指针变成 uint_32t 会更快点,当然也可以
uint_64t了,
有什么别的建议吗?
avatar
l*a
2
不知道贴过没有,刚收到的
JOINNOW4REWARDS
avatar
e*2
3
都是非常规题啊,觉得你答得不错,可能是长的不怎么样的缘故。

【在 B***n 的大作中提到】
: 悲剧了,贴出来攒点人品
: 顺便大家帮忙分析下题目难度,还有我的回答有没有什么低级错误。除了LRU在
: leetcode上有,其他的我都不知道该说简单呢还是难呢,看到要实现memcpy然后就吓了
: 一跳。
: 1. switch的工作原理流程。
: 2. 估计挂在这里了。
: 1). 生死棋盘游戏。
: 我只想到最简单的方法,遍历所有cell,根据规则更新棋盘是生是死。还有别的更好方
: 法吗?
: 2). 生成迷宫,基本上不怎么会。

avatar
M*o
4
cong! pai! ngs!
avatar
s*k
5
生成迷宫不常见吧

【在 e********2 的大作中提到】
: 都是非常规题啊,觉得你答得不错,可能是长的不怎么样的缘故。
avatar
q*y
6
thank you!
avatar
m*g
7
谢谢楼主!
这些题目确实很考验水平的, 楼主应该是有不少工作经验的。 因为他家申请的人太多
, 可能只要很出彩或者很match的

【在 B***n 的大作中提到】
: 悲剧了,贴出来攒点人品
: 顺便大家帮忙分析下题目难度,还有我的回答有没有什么低级错误。除了LRU在
: leetcode上有,其他的我都不知道该说简单呢还是难呢,看到要实现memcpy然后就吓了
: 一跳。
: 1. switch的工作原理流程。
: 2. 估计挂在这里了。
: 1). 生死棋盘游戏。
: 我只想到最简单的方法,遍历所有cell,根据规则更新棋盘是生是死。还有别的更好方
: 法吗?
: 2). 生成迷宫,基本上不怎么会。

avatar
m*a
8
cool, thanks!
avatar
f*s
9
memcpy 不解决地址overlap的情况, memmove才会考虑
生成迷宫,好像design pattern里面有例子,不过挺复杂的。。。
avatar
q*0
10
thanks
avatar
k*o
11
mark
avatar
z*q
12
thx

【在 l********a 的大作中提到】
: 不知道贴过没有,刚收到的
: JOINNOW4REWARDS

avatar
x*9
13
这个迷宫太非主流了。
记得是union-find,从来没实现过.....

【在 B***n 的大作中提到】
: 悲剧了,贴出来攒点人品
: 顺便大家帮忙分析下题目难度,还有我的回答有没有什么低级错误。除了LRU在
: leetcode上有,其他的我都不知道该说简单呢还是难呢,看到要实现memcpy然后就吓了
: 一跳。
: 1. switch的工作原理流程。
: 2. 估计挂在这里了。
: 1). 生死棋盘游戏。
: 我只想到最简单的方法,遍历所有cell,根据规则更新棋盘是生是死。还有别的更好方
: 法吗?
: 2). 生成迷宫,基本上不怎么会。

avatar
a*y
14
可以用,谢谢了!!
avatar
c*r
15
mark
avatar
m*r
16
thank you!
avatar
E*g
17
请问楼主是fresh graduate, 还是有若干年工作经验呢?题目感觉好难啊!

【在 B***n 的大作中提到】
: 悲剧了,贴出来攒点人品
: 顺便大家帮忙分析下题目难度,还有我的回答有没有什么低级错误。除了LRU在
: leetcode上有,其他的我都不知道该说简单呢还是难呢,看到要实现memcpy然后就吓了
: 一跳。
: 1. switch的工作原理流程。
: 2. 估计挂在这里了。
: 1). 生死棋盘游戏。
: 我只想到最简单的方法,遍历所有cell,根据规则更新棋盘是生是死。还有别的更好方
: 法吗?
: 2). 生成迷宫,基本上不怎么会。

avatar
D*9
18
nice
avatar
r*c
19
生成迷宫对迷宫有要求吗?如果没有的话就先找一个path,随机取往右往下,path好了
以后在开始在path上得点随机加点
avatar
M*6
20
thanks
avatar
s*t
21
请问生死棋盘是什么?
avatar
L*n
22
thanks

【在 l********a 的大作中提到】
: 不知道贴过没有,刚收到的
: JOINNOW4REWARDS

avatar
A*c
23
据我观察,G 家的题目variance 太大了。碰上不同的人,出的题目真是天上地下。
lz的题都是高级题。Bless!

【在 B***n 的大作中提到】
: 悲剧了,贴出来攒点人品
: 顺便大家帮忙分析下题目难度,还有我的回答有没有什么低级错误。除了LRU在
: leetcode上有,其他的我都不知道该说简单呢还是难呢,看到要实现memcpy然后就吓了
: 一跳。
: 1. switch的工作原理流程。
: 2. 估计挂在这里了。
: 1). 生死棋盘游戏。
: 我只想到最简单的方法,遍历所有cell,根据规则更新棋盘是生是死。还有别的更好方
: 法吗?
: 2). 生成迷宫,基本上不怎么会。

avatar
d*7
24
thanks!
avatar
d*n
25
int[] arr=new int[10];
memcpy(arr,arr+2,5);
这个怎么解?

【在 B***n 的大作中提到】
: 悲剧了,贴出来攒点人品
: 顺便大家帮忙分析下题目难度,还有我的回答有没有什么低级错误。除了LRU在
: leetcode上有,其他的我都不知道该说简单呢还是难呢,看到要实现memcpy然后就吓了
: 一跳。
: 1. switch的工作原理流程。
: 2. 估计挂在这里了。
: 1). 生死棋盘游戏。
: 我只想到最简单的方法,遍历所有cell,根据规则更新棋盘是生是死。还有别的更好方
: 法吗?
: 2). 生成迷宫,基本上不怎么会。

avatar
x*g
26
3x
avatar
l*u
27
神马是生死棋盘。。。
avatar
e*b
28
Thanks!
avatar
k*u
29
生成迷宫这个看起来挺有意思,想到一个简单思路:
假设enter在左下角,exit在右上角。
从enter的点开始,看看四周有哪些点可以到达,然后随机生成下一步,比如当前正在
起点处,那么只有往上走和往右走两种选择,就跑一个2种结果的random generator。
后面每一步都做同样的随机选择,当然这个过程中要记录哪些已经走过了。
另外如果我们碰到了第一行的元素,那么我们只能往右或者往下(否则无解)
同样的,如果我们碰到了最后一列,我们只能往上或者往左(否则无解)
当我们到达exit之后,这条路径就是迷宫的解。然后我们给所有的其他方块随机生成0/
1。
avatar
s*s
30
thanks
avatar
w*s
31
memcpy那题,
简单来说就是,一句汇编实现的。
REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI]
你可以问一下那个面试的,还有啥更快的么?

【在 B***n 的大作中提到】
: 悲剧了,贴出来攒点人品
: 顺便大家帮忙分析下题目难度,还有我的回答有没有什么低级错误。除了LRU在
: leetcode上有,其他的我都不知道该说简单呢还是难呢,看到要实现memcpy然后就吓了
: 一跳。
: 1. switch的工作原理流程。
: 2. 估计挂在这里了。
: 1). 生死棋盘游戏。
: 我只想到最简单的方法,遍历所有cell,根据规则更新棋盘是生是死。还有别的更好方
: 法吗?
: 2). 生成迷宫,基本上不怎么会。

avatar
c*i
32
Thanks!
avatar
r*b
33
Will this cause any array out of boundary problem, if the array size cannot
be divided by sizeof(DWORD)?

【在 w********s 的大作中提到】
: memcpy那题,
: 简单来说就是,一句汇编实现的。
: REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI]
: 你可以问一下那个面试的,还有啥更快的么?

avatar
k*y
34
太好用了,呵呵 谢谢
avatar
r*b
35
Here are some links on Maze generation:
http://www.4ngel.net/article/17.htm

【在 B***n 的大作中提到】
: 悲剧了,贴出来攒点人品
: 顺便大家帮忙分析下题目难度,还有我的回答有没有什么低级错误。除了LRU在
: leetcode上有,其他的我都不知道该说简单呢还是难呢,看到要实现memcpy然后就吓了
: 一跳。
: 1. switch的工作原理流程。
: 2. 估计挂在这里了。
: 1). 生死棋盘游戏。
: 我只想到最简单的方法,遍历所有cell,根据规则更新棋盘是生是死。还有别的更好方
: 法吗?
: 2). 生成迷宫,基本上不怎么会。

avatar
h*i
36
太感谢了!
avatar
w*s
37
switch基本上就是
CMP XXX, VALUE
JUMP XXXXXX
举个例子,
void dummy(int s)
{
switch (s)
{
case 0:
std::cout << "this is 0.";
break;
case 1:
std::cout << "this is 1.";
break;
default:
std::cout << "default.";
break;
}
}
步骤:
parameter s(SS:[EBP+8]) -> EAX
move EAX to the stack
compare the value (s, which is in SS:[EBP-0F4] to switch values 0)
jump if equal (the code for handling case 0)
compare the value to 1
jump if equal
if there is no jump, then the default code executed.
00BC1B85 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
00BC1B88 8985 0CFFFFFF MOV DWORD PTR SS:[EBP-0F4],EAX
00BC1B8E 83BD 0CFFFFFF 0 CMP DWORD PTR SS:[EBP-0F4],0
00BC1B95 74 0B JE SHORT 00BC1BA2
00BC1B97 83BD 0CFFFFFF 0 CMP DWORD PTR SS:[EBP-0F4],1
00BC1B9E 74 17 JE SHORT 00BC1BB7
00BC1BA0 EB 2A JMP SHORT 00BC1BCC
00BC1BA2 68 4C78BC00 PUSH OFFSET 00BC784C
; ASCII "this is 0."
00BC1BA7 A1 04A3BC00 MOV EAX,DWORD PTR DS:[0BCA304]
00BC1BAC 50 PUSH EAX
00BC1BAD E8 A2F5FFFF CALL 00BC1154
00BC1BB2 83C4 08 ADD ESP,8
00BC1BB5 EB 28 JMP SHORT 00BC1BDF
00BC1BB7 68 3C78BC00 PUSH OFFSET 00BC783C
; ASCII "this is 1."
00BC1BBC A1 04A3BC00 MOV EAX,DWORD PTR DS:[0BCA304]
00BC1BC1 50 PUSH EAX
00BC1BC2 E8 8DF5FFFF CALL 00BC1154
00BC1BC7 83C4 08 ADD ESP,8
00BC1BCA EB 13 JMP SHORT 00BC1BDF
00BC1BCC 68 3078BC00 PUSH OFFSET 00BC7830
; ASCII "default."
00BC1BD1 A1 04A3BC00 MOV EAX,DWORD PTR DS:[0BCA304]
00BC1BD6 50 PUSH EAX
00BC1BD7 E8 78F5FFFF CALL 00BC1154

【在 B***n 的大作中提到】
: 悲剧了,贴出来攒点人品
: 顺便大家帮忙分析下题目难度,还有我的回答有没有什么低级错误。除了LRU在
: leetcode上有,其他的我都不知道该说简单呢还是难呢,看到要实现memcpy然后就吓了
: 一跳。
: 1. switch的工作原理流程。
: 2. 估计挂在这里了。
: 1). 生死棋盘游戏。
: 我只想到最简单的方法,遍历所有cell,根据规则更新棋盘是生是死。还有别的更好方
: 法吗?
: 2). 生成迷宫,基本上不怎么会。

avatar
m*y
38
thanks
avatar
s*c
39
楼主的题都很难阿。
第3题里:
文件记录格式,node, parent, weight.
那个node是什么?是树的每个节点都有一个id号吗? "parent"就是父节点的id号?那
么如何区分左右孩子?还是说已知是一个排好序的树?

【在 B***n 的大作中提到】
: 悲剧了,贴出来攒点人品
: 顺便大家帮忙分析下题目难度,还有我的回答有没有什么低级错误。除了LRU在
: leetcode上有,其他的我都不知道该说简单呢还是难呢,看到要实现memcpy然后就吓了
: 一跳。
: 1. switch的工作原理流程。
: 2. 估计挂在这里了。
: 1). 生死棋盘游戏。
: 我只想到最简单的方法,遍历所有cell,根据规则更新棋盘是生是死。还有别的更好方
: 法吗?
: 2). 生成迷宫,基本上不怎么会。

avatar
q*6
40
thanks!
avatar
w*s
41
shr bytesToMove, 2
rep movs dword ptr xxx, xxx
对于剩余的byes,继续copy,用的办法差不多是
1004CB15 8D49 00 LEA ECX,[ECX]
1004CB18 8A06 MOV AL,BYTE PTR DS:[ESI]
1004CB1A 8807 MOV BYTE PTR DS:[EDI],AL
1004CB1C 8A46 01 MOV AL,BYTE PTR DS:[ESI+1]
1004CB1F 8847 01 MOV BYTE PTR DS:[EDI+1],AL
1004CB22 8A46 02 MOV AL,BYTE PTR DS:[ESI+2]
1004CB25 8847 02 MOV BYTE PTR DS:[EDI+2],AL
1004CB28 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
1004CB2B 5E POP ESI

cannot

【在 r*****b 的大作中提到】
: Will this cause any array out of boundary problem, if the array size cannot
: be divided by sizeof(DWORD)?

avatar
i*y
42
thanks

【在 l********a 的大作中提到】
: 不知道贴过没有,刚收到的
: JOINNOW4REWARDS

avatar
w*s
43
扫1遍的时候生成所有node,可以记录到某个map里
扫第二遍的时候生成边。
parent=null的那个是root。

【在 s***c 的大作中提到】
: 楼主的题都很难阿。
: 第3题里:
: 文件记录格式,node, parent, weight.
: 那个node是什么?是树的每个节点都有一个id号吗? "parent"就是父节点的id号?那
: 么如何区分左右孩子?还是说已知是一个排好序的树?

avatar
e*h
44
thanks
avatar
k*u
45
酷!和我刚刚想的方法基本思路是一样的。

【在 r*****b 的大作中提到】
: Here are some links on Maze generation:
: http://www.4ngel.net/article/17.htm

avatar
l*s
46
thanks
avatar
q*x
47
啥是生死棋盘?
memcpy不是很经典吗?

【在 B***n 的大作中提到】
: 悲剧了,贴出来攒点人品
: 顺便大家帮忙分析下题目难度,还有我的回答有没有什么低级错误。除了LRU在
: leetcode上有,其他的我都不知道该说简单呢还是难呢,看到要实现memcpy然后就吓了
: 一跳。
: 1. switch的工作原理流程。
: 2. 估计挂在这里了。
: 1). 生死棋盘游戏。
: 我只想到最简单的方法,遍历所有cell,根据规则更新棋盘是生是死。还有别的更好方
: 法吗?
: 2). 生成迷宫,基本上不怎么会。

avatar
i*e
48
thanks.
avatar
s*c
49
但是如何区分左右孩子节点?
我假设在写文件的时候是按照某个固定顺序(先,中,或者后序)。

【在 w********s 的大作中提到】
: 扫1遍的时候生成所有node,可以记录到某个map里
: 扫第二遍的时候生成边。
: parent=null的那个是root。

avatar
s*9
50
3x

【在 l********a 的大作中提到】
: 不知道贴过没有,刚收到的
: JOINNOW4REWARDS

avatar
k*r
51
楼主能不能再说说什么是生死棋局,听起来很有意思
avatar
c*n
52
thanks
avatar
l*6
53
thanks
avatar
e*2
54
very nice, Thanks a lot!
avatar
w*e
55
我有点土,怎么用啊?
avatar
b*1
56
3x
avatar
m*r
57
3x
avatar
z*7
58
cool。。。thx
avatar
j*e
59
3x!
avatar
s*u
60
非常感谢。已经积了
avatar
r*1
61
lisa有宝宝了????????
avatar
l*a
62
谢谢
avatar
PH
63
Thanks!

【在 l********a 的大作中提到】
: 不知道贴过没有,刚收到的
: JOINNOW4REWARDS

avatar
s*e
64
thanks
avatar
l*n
65
great,thanks

【在 l********a 的大作中提到】
: 不知道贴过没有,刚收到的
: JOINNOW4REWARDS

avatar
d*1
66
不错,谢谢
avatar
m*o
67
这个点数是做什么用的?
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。