2012-03-16 5 views
0

ここでは試してみましたが、どこかにバグがあり、修正しようとしています。現在指定されたノードへのパス上の任意のノードからの最大距離を計算しますか?

あなたは何を意味する costを変更していない、とあなたのコードは本当に何もしないので maxは、すでに可能な最大値である
private int maxDistance(List<String> path, String node) { 

    int max = Integer.MAX_VALUE; 
    int cost = 0; 


    for (int i = 0 ; i < path.size(); i++) 
    { 
     path.add(i, node); 

     if (cost > max) 
      cost = max; 

     path.remove(i); 
    } 
    return max; 
+2

'役に立たないsomewhere'バグを持っています。 * *と*はどこですか? – Jon

+0

私はそれを理解できませんでしたが、正しい結果を与えていませんでした!それが私の助けが必要な場所です。 –

+0

'node'には何がありますか?それの価値の形式は何ですか?コストを定義するものは何ですか? – Jon

答えて

2

private int maxDistance(List<String> path, String node) { 
    int max = 0, cost = 0; // Checking for a max 

    path.add(node); // You only want to do this once, so do it outside the loop 

    for(int i = 0; i < path.size(); i++) { 
    // find the cost somehow, you didn't specify what 'cost' really is 
    if(cost > max) 
     max = cost; 
    } 

    return max; 
} 
+0

ありがとうジョン、最後に私がやろうとしていたことを説明することができました。 –

+0

@Santa、あなたは投票/承認で感謝を示すことができます。 – Jon

関連する問題