`
only_java
  • 浏览: 112417 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

碰到这样的一道面试题,谁能给点思路?

阅读更多

 

 

Y

 

 

 

 

 

 

 

 

A10

B10

 

C10

D10

 

E10

F10

 

 

A9

B9

 

C9

D9

 

E9

F9

 

 

A8

B8

 

C8

D8

 

E8

F8

 

 

A7

B7

 

C7

D7

 

E7

F7

 

 

A6

B6

X

C6

D6

 

E6

F6

 

 

A5

B5

 

C5

D5

 

E5

F5

 

 

A4

B4

 

C4

D4

 

E4

F4

 

 

A3

B3

 

C3

D3

 

E3

F3

 

 

A2

B2

 

C2

D2

 

E2

F2

 

 

A1

B1

 

C1

D1

 

E1

F1

 

1m

P1

 

 

P2

 

 

P3

Z

 

 


 黄色区域是存储商品的储位,每个储位都有自己的编号,如A1,A2,B2,….。每个储位中存放着不同的商品。
 蓝色区域P1/P2/P3 是仓库工作人员工作站。
 白色区域是空白区域。
 仓库工作人员只可以自由行走在白色区域与蓝色区域之间,但是仓库工作人员不能跨越任何黄色区域。
 仓库工作人员从储位中捡出商品时,只能站立在储位旁边的空白位置。例如工作人员站在图中的X位置可以捡取存放在C6与B6的商品。注意:工作人员不能在储位的上下方捡取任何商品,例如图中的Y或Z。

现在仓库工作人员有5个不同的商品需要捡出。仓库工作人员可能会从P1/P2/P3任何一个工作站出发,捡出商品后再返回起始工作站。

请你设计一个程序帮助仓库工作人员计算出最短的捡料顺序与路径。
1. 程序需提供参数允许用户选择起始工作站点。

2. 程序需使用简单易懂的方式告诉用户具体的检料路经与顺序(图形界面最好)。

3. 请提交原代码的同时提交如下文档

 核心算法流程图
 软件说明文档:需说明软件开发语言与平台、软件运行环境、使用方法
 软件体系结构说明

4. 软件需要考虑可扩展性。例如当面对更大的仓库的时候,软件是否仍可以使用?

 

分享到:
评论
2 楼 freelancer 2009-06-25  
首先,这个到像一个项目需求了,  需要收钱的!  
我的想法:  1.将商品按 A\ BC \ DE \ F 归类
            2.根据用户输入的起始工作站点  和归类情况 选择行走路线(这个有点麻烦,当用户选择从P2出发就更麻烦了)   


再抽象一下,  貌似可以用到图论里什么  最短路径算法     
1 楼 only_java 2009-03-24  
可不可以这样,将整个图看做一个二维数组store[x][y](一个二维坐标系),比如P1在数组的下标为store[1][0],store[1][1]=A1,然后从P1,P2,P3中任意一个位置循环判断
(1)当前的横坐标+1或-1是否等于目标坐标的横坐标,且纵坐标相等。
(2)当前坐标的值是否为空
(3)坐标边界条件:10>=x>=0,12>=y>=0


应该是像走迷宫那样,记录每一条可到达的路径。可以定义一个容器Map来保存路径编号及所有路径Map<Integer,List>
然后计算出list的大小来判断最短路径

至于怎么循环就没什么思路了!
大家一起来想想啊!

相关推荐

Global site tag (gtag.js) - Google Analytics