沿最优路径遍历二维阵列

时间:2012-08-25 04:02:57

标签: java

我是Java新手。我的问题如下:

我使用二维数组。从起点开始,我有5个目的地可以去,但只能选择一个。

首先,我必须检查一个目的地是否超出范围,我有这个方法:

boolean isOutOfBounds(int moveNumber){
    return ((currentRow + vertical[moveNumber] >= 0) && 
        (currentColumn + horizontal[moveNumber] >= 0)) ?
            false : true;
}

然后检查目的地是否已经遍历:

boolean isTraversed(int moveNumber){
    return (board[currentRow + vertical[moveNumber]]
        [currentColumn + horizontal[moveNumber]] > 0) ?
            true : false;
}

现在,例如,如果目的地1,2和3失败或isOutOfBounds或两者都有,我如何选择目的地4和5来比较其内部值。目标是

  1. 转到内部值最小的目的地 AND
  2. 目的地不在界外, AND
  3. 目的地尚未遍历
  4. 我会使用Math.min(...)来比较内部值,但我如何选择4和5?我应该使用boolean标志吗?如何实施?

0 个答案:

没有答案
相关问题