A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© KK要有光 中级黑马   /  2015-5-5 22:37  /  1016 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

基础测试阶段有一个关于农夫带着猫、鱼、狗过河的问题,        一位老农带着猫、狗、鱼过河,河边有一条船,每次老农只能带一只动物过河。当老农不和猫狗鱼在一起时,狗会咬猫,猫会吃鱼,当老农和猫狗鱼在一起时,则不会发生这种问题。这个问题若是编程解决的话需要使用哪种工具类啊,求大神指导。

10 个回复

倒序浏览
感觉这是不可能有答案的问题
回复 使用道具 举报
集合吧  建立两个集合  分别添加移除   但是添加移除时要加入判断条件    我入学基础测试抽得这个题  表示有难度
回复 使用道具 举报
fantacyleo 来自手机 金牌黑马 2015-5-6 10:59:25
板凳
我用的是图表示和深度优先搜索算法。虽然对这道题来说不是最简,但肯定是解决这类问题的常规思路
回复 使用道具 举报
nine789 发表于 2015-5-5 22:52
感觉这是不可能有答案的问题

当然有答案了,而且还要求用代码实现的。可惜不会。
回复 使用道具 举报
fantacyleo 发表于 2015-5-6 10:59
我用的是图表示和深度优先搜索算法。虽然对这道题来说不是最简,但肯定是解决这类问题的常规思路 ...

你说的我还没学到,是要用map集合么?
回复 使用道具 举报
小王泽哥 发表于 2015-5-6 10:12
集合吧  建立两个集合  分别添加移除   但是添加移除时要加入判断条件    我入学基础测试抽得这个题  表示 ...

嗯嗯,我基础测试题也是这个。
回复 使用道具 举报
bztf 中级黑马 2015-5-7 14:17:06
8#

1、三个arrayList(两个岸一个船)
循环:
2、用变量保存其中一个动物
3、删除已经保存的动物
4、判断
   如果为真那么输出,然后跳出循环
   如果为假那么add(刚保存动物的变量);

点评

学习了,借用了你的思路  发表于 2015-8-20 00:18
回复 使用道具 举报
KK要有光 发表于 2015-5-7 14:01
你说的我还没学到,是要用map集合么?

我说的内容,基础视频不会教的。你要自己找本算法书学习
回复 使用道具 举报
记得上中学时候同学出过这个问题 当时就没弄出来,没想到。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马