avatar
P*U
1
就是那个什么tie toe game,一个N*N的board,里面的数值为0或者1,只要任意一行全
为1或者任意一列全为1或者两个对角线中任意一个全为1,就输出true,否则输出false。
要求:不能用loop
如果N=3,能否不用loop且只用一个statement判断,不能是那种很长的if枚举各种case
的one statement。
面试官给的提示:把board存成一维的bit array,用到类似hashtable的思想
表示仍然不会做,有大牛支招吗?
avatar
n*s
2
把所有可能的列出来
avatar
P*U
3
说了不能是那种很长的if枚举各种case
的one statement。

【在 n********s 的大作中提到】
: 把所有可能的列出来
avatar
n*s
4
x[a1] = true
...
...
avatar
P*U
5
什么意思?

【在 n********s 的大作中提到】
: x[a1] = true
: ...
: ...

avatar
g*e
6
你是ZJU的?
avatar
P*U
7
额,是的,是不是这种题都不会做给ZJU丢人了哇,555

【在 g*********e 的大作中提到】
: 你是ZJU的?
avatar
f*2
8
没想出来,等解答
avatar
g*e
9

是的 你太菜了 学长教你 用数字电路里的思想 AND OR GATE 然后化简

【在 P*******U 的大作中提到】
: 额,是的,是不是这种题都不会做给ZJU丢人了哇,555
avatar
P*U
10
我勒个去,学长V587,求个detail,怎么和hash扯上关系的!

【在 g*********e 的大作中提到】
:
: 是的 你太菜了 学长教你 用数字电路里的思想 AND OR GATE 然后化简

avatar
g*e
11

学长表示不会哈希

【在 P*******U 的大作中提到】
: 我勒个去,学长V587,求个detail,怎么和hash扯上关系的!
avatar
t*e
12
I think he wants you to precalculate the result into an array. Then just one
array look up, you can get result. Array index is the state of 3 * 3 board.
avatar
s*n
13
问题不是这么问的吧,如果他问大量查询怎么能加速,那预见表格还差不多。

one
.

【在 t********e 的大作中提到】
: I think he wants you to precalculate the result into an array. Then just one
: array look up, you can get result. Array index is the state of 3 * 3 board.

avatar
e*l
14
位运算。8种情况。这个算不算多。
比如x>>6==二进制111
avatar
p*2
15
如果用bit表示,用&就可以了吧?
avatar
P*U
16
你是说把每一种case写成与,然后总的在各个与之间或吗?那样还是naive的枚举所有
case啊

【在 p*****2 的大作中提到】
: 如果用bit表示,用&就可以了吧?
avatar
h*w
17
ZJU是 zhe jing da xue me?
准确来说1个if,N*N+2个&和N*N+1个|
avatar
r*b
18
What the interviewer wanted to ask is to how to check the winning condition
while a Tic-Tac-Toe game is going on. We can use two arrays + two intergers
to record the number of 1s that appears in each row, column, diagonal, and
anti-diagonal.
http://basicalgos.blogspot.com/2012/03/13-test-winning-conditio

false。
case

【在 P*******U 的大作中提到】
: 就是那个什么tie toe game,一个N*N的board,里面的数值为0或者1,只要任意一行全
: 为1或者任意一列全为1或者两个对角线中任意一个全为1,就输出true,否则输出false。
: 要求:不能用loop
: 如果N=3,能否不用loop且只用一个statement判断,不能是那种很长的if枚举各种case
: 的one statement。
: 面试官给的提示:把board存成一维的bit array,用到类似hashtable的思想
: 表示仍然不会做,有大牛支招吗?

avatar
i*e
19
赞同。
总共就只有 2^9=512 种状态,直接 table lookup。

one
.

【在 t********e 的大作中提到】
: I think he wants you to precalculate the result into an array. Then just one
: array look up, you can get result. Array index is the state of 3 * 3 board.

avatar
c*p
20
关键不是不让用loop么。。
建table的时候也得用loop建啊

【在 i**********e 的大作中提到】
: 赞同。
: 总共就只有 2^9=512 种状态,直接 table lookup。
:
: one
: .

avatar
i*e
21
我手动初始化,行不 :P
反正运行效率高 :)
我不如地狱 谁入地狱

【在 c****p 的大作中提到】
: 关键不是不让用loop么。。
: 建table的时候也得用loop建啊

avatar
f*n
22
这个链接里的解法基本思路倒是不错,可是程序写的有bug啊。我还以为平常问这个问
题太简单了,看来还是可以继续问的。。。

condition
intergers

【在 r*****b 的大作中提到】
: What the interviewer wanted to ask is to how to check the winning condition
: while a Tic-Tac-Toe game is going on. We can use two arrays + two intergers
: to record the number of 1s that appears in each row, column, diagonal, and
: anti-diagonal.
: http://basicalgos.blogspot.com/2012/03/13-test-winning-conditio
:
: false。
: case

avatar
d*u
23
avatar
R*9
24
是这个思路。。我面MS embedding组时有人出这个题目,interviewer解释说是table
lookup.

【在 i**********e 的大作中提到】
: 赞同。
: 总共就只有 2^9=512 种状态,直接 table lookup。
:
: one
: .

avatar
c*2
25
这个题有没有大牛贴个code让我们学习一下啊,感觉限制条件一堆,不知道该咋做
avatar
P*U
26
就是那个什么tie toe game,一个N*N的board,里面的数值为0或者1,只要任意一行全
为1或者任意一列全为1或者两个对角线中任意一个全为1,就输出true,否则输出false。
要求:不能用loop
如果N=3,能否不用loop且只用一个statement判断,不能是那种很长的if枚举各种case
的one statement。
面试官给的提示:把board存成一维的bit array,用到类似hashtable的思想
表示仍然不会做,有大牛支招吗?
avatar
n*s
27
把所有可能的列出来
avatar
P*U
28
说了不能是那种很长的if枚举各种case
的one statement。

【在 n********s 的大作中提到】
: 把所有可能的列出来
avatar
n*s
29
x[a1] = true
...
...
avatar
P*U
30
什么意思?

【在 n********s 的大作中提到】
: x[a1] = true
: ...
: ...

avatar
g*e
31
你是ZJU的?
avatar
P*U
32
额,是的,是不是这种题都不会做给ZJU丢人了哇,555

【在 g*********e 的大作中提到】
: 你是ZJU的?
avatar
f*2
33
没想出来,等解答
avatar
g*e
34

是的 你太菜了 学长教你 用数字电路里的思想 AND OR GATE 然后化简

【在 P*******U 的大作中提到】
: 额,是的,是不是这种题都不会做给ZJU丢人了哇,555
avatar
P*U
35
我勒个去,学长V587,求个detail,怎么和hash扯上关系的!

【在 g*********e 的大作中提到】
:
: 是的 你太菜了 学长教你 用数字电路里的思想 AND OR GATE 然后化简

avatar
g*e
36

学长表示不会哈希

【在 P*******U 的大作中提到】
: 我勒个去,学长V587,求个detail,怎么和hash扯上关系的!
avatar
t*e
37
I think he wants you to precalculate the result into an array. Then just one
array look up, you can get result. Array index is the state of 3 * 3 board.
avatar
s*n
38
问题不是这么问的吧,如果他问大量查询怎么能加速,那预见表格还差不多。

one
.

【在 t********e 的大作中提到】
: I think he wants you to precalculate the result into an array. Then just one
: array look up, you can get result. Array index is the state of 3 * 3 board.

avatar
e*l
39
位运算。8种情况。这个算不算多。
比如x>>6==二进制111
avatar
p*2
40
如果用bit表示,用&就可以了吧?
avatar
P*U
41
你是说把每一种case写成与,然后总的在各个与之间或吗?那样还是naive的枚举所有
case啊

【在 p*****2 的大作中提到】
: 如果用bit表示,用&就可以了吧?
avatar
h*w
42
ZJU是 zhe jing da xue me?
准确来说1个if,N*N+2个&和N*N+1个|
avatar
r*b
43
What the interviewer wanted to ask is to how to check the winning condition
while a Tic-Tac-Toe game is going on. We can use two arrays + two intergers
to record the number of 1s that appears in each row, column, diagonal, and
anti-diagonal.
http://basicalgos.blogspot.com/2012/03/13-test-winning-conditio

false。
case

【在 P*******U 的大作中提到】
: 就是那个什么tie toe game,一个N*N的board,里面的数值为0或者1,只要任意一行全
: 为1或者任意一列全为1或者两个对角线中任意一个全为1,就输出true,否则输出false。
: 要求:不能用loop
: 如果N=3,能否不用loop且只用一个statement判断,不能是那种很长的if枚举各种case
: 的one statement。
: 面试官给的提示:把board存成一维的bit array,用到类似hashtable的思想
: 表示仍然不会做,有大牛支招吗?

avatar
i*e
44
赞同。
总共就只有 2^9=512 种状态,直接 table lookup。

one
.

【在 t********e 的大作中提到】
: I think he wants you to precalculate the result into an array. Then just one
: array look up, you can get result. Array index is the state of 3 * 3 board.

avatar
c*p
45
关键不是不让用loop么。。
建table的时候也得用loop建啊

【在 i**********e 的大作中提到】
: 赞同。
: 总共就只有 2^9=512 种状态,直接 table lookup。
:
: one
: .

avatar
i*e
46
我手动初始化,行不 :P
反正运行效率高 :)
我不如地狱 谁入地狱

【在 c****p 的大作中提到】
: 关键不是不让用loop么。。
: 建table的时候也得用loop建啊

avatar
f*n
47
这个链接里的解法基本思路倒是不错,可是程序写的有bug啊。我还以为平常问这个问
题太简单了,看来还是可以继续问的。。。

condition
intergers

【在 r*****b 的大作中提到】
: What the interviewer wanted to ask is to how to check the winning condition
: while a Tic-Tac-Toe game is going on. We can use two arrays + two intergers
: to record the number of 1s that appears in each row, column, diagonal, and
: anti-diagonal.
: http://basicalgos.blogspot.com/2012/03/13-test-winning-conditio
:
: false。
: case

avatar
d*u
48
avatar
R*9
49
是这个思路。。我面MS embedding组时有人出这个题目,interviewer解释说是table
lookup.

【在 i**********e 的大作中提到】
: 赞同。
: 总共就只有 2^9=512 种状态,直接 table lookup。
:
: one
: .

avatar
c*2
50
这个题有没有大牛贴个code让我们学习一下啊,感觉限制条件一堆,不知道该咋做
avatar
l*8
51
8*8的board还可以用look-up table吗?

false。
case

【在 P*******U 的大作中提到】
: 就是那个什么tie toe game,一个N*N的board,里面的数值为0或者1,只要任意一行全
: 为1或者任意一列全为1或者两个对角线中任意一个全为1,就输出true,否则输出false。
: 要求:不能用loop
: 如果N=3,能否不用loop且只用一个statement判断,不能是那种很长的if枚举各种case
: 的one statement。
: 面试官给的提示:把board存成一维的bit array,用到类似hashtable的思想
: 表示仍然不会做,有大牛支招吗?

avatar
y*n
52
如果对方强调不可用循环,我则首先考虑用递归。
avatar
C*U
53
不知道这个想法对不对
把所有的行和列用一个table记录下里面1的个数
然后每次某个空格填了1就把对应的行或者列改一下数字

就是那个什么tie toe game,一个N*N的board,里面的数值为0或者1,只要任意一行全
为1或者任意一列全为1或者两个对角线中任意一个全为1,就输出true,否则输出.....
...
★ Sent from iPhone App: iReader Mitbbs 7.52 - iPad Lite

【在 P*******U 的大作中提到】
: 就是那个什么tie toe game,一个N*N的board,里面的数值为0或者1,只要任意一行全
: 为1或者任意一列全为1或者两个对角线中任意一个全为1,就输出true,否则输出false。
: 要求:不能用loop
: 如果N=3,能否不用loop且只用一个statement判断,不能是那种很长的if枚举各种case
: 的one statement。
: 面试官给的提示:把board存成一维的bit array,用到类似hashtable的思想
: 表示仍然不会做,有大牛支招吗?

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