我有一个LinkedHashMap
这样 的
LinkedHashMap <Integer, ArrayList<Integer>> indexToIndecies = new LinkedHashMap <Integer ,ArrayList<Integer>>();
我有一个方法public int searchGraph(int baseIndex, int searchIndex, int count)
这种搜索方法的重点是;当有人进入时baseIndex
,这是一个键,它必须找到需要多少“点击”才能到达searchIndex
。键的值是它们相关的索引。因此,“点击”将从一个键转到另一个键。所以如果我的哈希图看起来像:
0[2]
1[0, 3]
2[0, 5]
3[0, 2, 4, 5]
4[5]
5[2]
6[3, 4, 5]
7[1, 4]
从 0 到 5 需要两次点击。
所以这是我的方法的代码:
public int searchGraph(int baseIndex, int searchIndex, int count)
{
if (baseIndex == searchIndex)
{
return count;
}
if (searchIndex > indexToIndecies.size()-1){
return -3;
}
else{
for (int i = 0; i < indexToIndecies.get(baseIndex).size(); i++)
{
for (int x = 0; x< indexToIndecies.get(baseIndex).size(); x++){
if (indexToIndecies.get(baseIndex).get(x) == searchIndex){
return count;
}
else{
count++;
}
}
baseIndex = (indexToIndecies.get(baseIndex)).get(i);
}
return count;
}
}
工作正常如果 ThebaseIndex
和seachIndex
我给它有关联,但是如果没有,我不确定如何抓住它......任何帮助将不胜感激。