首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在数组相邻位置内寻找最小值

在数组相邻位置内寻找最小值
EN

Stack Overflow用户
提问于 2017-10-29 02:48:44
回答 2查看 239关注 0票数 0

我对编码很陌生,已经有两个多月没有编码了。为了完成我的任务,我要逃离迷宫算法。用户定义了一个2D数组和一个起点,然后程序必须采取最小的破坏路径才能找到出路。"AI“只能向北、向东、向南或向西移动。它可以从数组的任何边缘逃脱。

代码语言:javascript
运行
复制
Enter the starting x coordinate: 2 
Enter the starting y coordinate: 4 
0 1 4 2 6 0 1  
1 7 4 2 2 6 0  
0 0 0 8 * 4 1  
1 1 2 7 3 4 2  
5 1 6 4 2 2 1   

在本例中,用户选择了2,4作为数组的起始位置(记住,索引从0开始)。AI可以从阵列的任何边缘逃逸。它要为每一个运动选择最小的整数。在这个例子中,AI将上升到2,然后左移,然后上升。因此,退出数组需要"6点伤害“的总和。

我的问题是比较北方是否比东方小,如果北方比东小,它是不是比西方小?还是南方?如果东方比北方小,那么它是不是比西方小呢?或者是南方?&等等。我不确定我是否会以正确的方式来做这件事。我的尝试可以在下面的hastebin链接的第44-78行找到。,我不知道我在做什么。

我创建了一个int minimumValue;,但是我不知道如何使用它,也不知道它在哪里。如果是boardArray[north][currentY] < boardArray[east][currentY],那么boardArray[north][currentY]是我的新的最小值对吗?然后,我还需要编写代码,将其与西方和南方进行比较。我觉得必须有一个更简单的方法来做这件事。

我已经尝试过谷歌解决方案,Reddit,编码Den不和谐服务器,但我就是不能把它写下来。

任何和所有的帮助都将受到感谢!

https://hastebin.com/acopoborut.java

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-29 03:33:56

神圣嵌套其他人的蝙蝠侠!

我会把第55-78行替换成这样:

代码语言:javascript
运行
复制
//find the least danger:
int leastDanger = northDanger;
if(southDanger < leastDanger) leastDanger = southDanger;
if(eastDanger  < leastDanger) leastDanger = eastDanger;
if(westDanger  < leastDanger) leastDanger = westDanger;
// Go the first direction equal to least danger 
if      (northDanger == leastDanger) { moveNorth
}else if(southDanger == leastDanger) { moveSouth
}else if(eastDanger  == leastDanger) { moveEast
}else if(westDanger  == leastDanger) { moveWest
}

moveDirections将是您的代码,如

代码语言:javascript
运行
复制
visitedPath = visitedPath + "[" + currentX + "," + currentY + "]";    

危险值是您的代码,如

代码语言:javascript
运行
复制
boardArray[north][currentY]

如果您知道这些,也可以使用switch语句来完成。

票数 0
EN

Stack Overflow用户

发布于 2017-10-29 02:57:22

我想说北指-y方向,东指+x方向

如果boardArray[x][y]表示坐标(x,y),则其以北的坐标应为(x,y-1),东为(x+1,y)。你可以这样比较它们

代码语言:javascript
运行
复制
boardArray[x][y-1] < boardArray[x+1][y] //Is North smaller than East?

当然,您应该首先检查数组中是否有北部和东部,否则将得到ArrayIndexOutOfBoundException

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46996384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档