スタック内のノードを追跡するのに問題があります。私のノードには、0 ~ 20 の数値を含む 2d int 配列と、現在のノード状態に到達するためのコストを測定する別の整数 (2d int 配列) が含まれています。
現在、スタックにスキップしたいノードが含まれているかどうかを追跡する方法がわかりません。これは、スタックに既に存在するか、以前にポップされているためです。そのため、まったく同じ状態 + コストを持つノードで同じ比較を繰り返すことは避けます。
q が私のスタックで、n1 が現在のノードである場合、私はちょうどポップしました。
q.contains(n1);
trueを返すことはありますか?
また、すべてのノードの文字列を作成する ArrayList を作成してみました
元
1 2 4
5 3 6
0 7 8
文字列「1,2,4,5,3,6,0,7,8」を作成します。この文字列を配列リストに追加し、aList.contains(stringKey); を使用するとします。trueを返すことはありませんか?
contains() にはオブジェクトを渡す必要があるため、オブジェクトで何かをする必要があると思いますが、これを行う方法が 100% わからないからです。