今天面试题没思路,大家帮看一下!

tlowl 2005-08-11 11:22:23
今天面试有一道推理题,有三个箱子,三个工程师,箱子里面有工程师所需要的全部资料,每个箱子有把锁,每个锁只有两把钥匙,问怎么分配才能保证每个工程师都能单独开锁?哪位兄弟会做,给个思路
...全文
614 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
icarian_guy 2005-08-12
  • 打赏
  • 举报
回复
上次面试也碰到一问题:大家来答答:
一农夫带着一只鸡,一条狗,和一袋米过河,但一次只能带一样东西过河,如果农夫不在,则鸡会吃米,狗会吃鸡,问农夫怎么渡河~~
cozmic 2005-08-12
  • 打赏
  • 举报
回复
我可真是厉害呀!
cozmic 2005-08-12
  • 打赏
  • 举报
回复
箱子 a b c
钥匙 a1 a2 b1 b2 c1 c2
工程师 A B C
方案:
箱子a中放 b1;
箱子b中放 c1;
箱子c中放 a1;

工程师A,B,C任意拿一钥匙就可以打开全部的了~
cozmic 2005-08-12
  • 打赏
  • 举报
回复
哈哈,在每个箱子里头都放把另外一个箱子的钥匙,不就全部搞定了~
贝壳鱼 2005-08-12
  • 打赏
  • 举报
回复
楼上的想法挺新颖
lydvqq 2005-08-12
  • 打赏
  • 举报
回复
不知这样可以不:
工程师a,b,c箱1,2,3锁A,锁B,锁C。钥匙A.1;A.2;B.1;B.2;C.1;C.2
那A锁住1号的前面,C锁1的后面(前、后主要是为了可以只要打开其中一把锁就可以开箱)
同样:A锁住2号的后面,B锁2的前面。C锁3的前,B锁3的后面。
那a(A.1,B.1);b(B.2,C.1);c(C.2,A.2).那么a可以开A与B锁。也就可以开三个箱了。
不知这样对不对???
tlowl 2005-08-12
  • 打赏
  • 举报
回复
没想到这么多兄弟关注,同时感谢cozmic(蓝色的猪) ,果然是高!!
明天晚上揭贴!
cozmic 2005-08-12
  • 打赏
  • 举报
回复
我觉得水果最好定义为抽象类而不是接口,因为抽象类是继承关系is-a;
接口表达的是,like-a .
实现时,可以定义一个水果的接口,一个水果的抽象类(实现了水果接口),然后
让每个水果类别实现水果抽象类。
cozmic 2005-08-12
  • 打赏
  • 举报
回复
狗 d
鸡 c
米 r
(dcr,0)---(dr,c)----(r,dc)----(c,rd)------(0,dcr)
lydvqq 2005-08-12
  • 打赏
  • 举报
回复
历害!佩服!
w_y_job 2005-08-12
  • 打赏
  • 举报
回复
A 是水果的接口
所有水果类都必须实现它
w_y_job 2005-08-12
  • 打赏
  • 举报
回复
建一个接口A 定义方法getList,getHeight,getColor

建立Box
public class Box
{
static HashMap al = new HashMap();
public void add(String name, A a)
{
al.put(name,a);
}



publci void remove(String name)
{
al.remove(name);
}

public A getFruit(String name)
{
return (A)al.get(name);
}

}
qingzhu999 2005-08-12
  • 打赏
  • 举报
回复
这个题其实考的就是一个数据结构:链表的建立和操作
组成这个链表的单元就是:水果类

建立了水果类,就是链表的查询、添加、删除操作了。很简单的
sunhw2002 2005-08-12
  • 打赏
  • 举报
回复
cozmic(蓝色的猪)
思维敏捷!强
larrygao 2005-08-12
  • 打赏
  • 举报
回复
cozmic(蓝色的猪) 的想法跟我一样。。。
larrygao 2005-08-12
  • 打赏
  • 举报
回复
先带鸡过去~然后自己回去,把米带过去放下~再把鸡带回来,把鸡放下,把狗带过去~回来一趟再带鸡。。。这题和原来一个一家人划船过河的道理一样~那题还有人做成FLASH呢。。。
Preamble 2005-08-12
  • 打赏
  • 举报
回复
回复人: cozmic(蓝色的猪) ( ) 信誉:100 2005-08-12 00:22:00 得分: 0


佩服,佩服!
思维敏捷!
mingr6370 2005-08-12
  • 打赏
  • 举报
回复
mark
qingzhu999 2005-08-12
  • 打赏
  • 举报
回复
好像还得建立一个链表,用于添加和删除
qingzhu999 2005-08-12
  • 打赏
  • 举报
回复
需要建立两个类:一个Fruit类,一个Box类
加载更多回复(3)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧