フィボナッチを少し修正しました。ダイナミックプログラミングを使用するフィボナッチ
ここn = (n-1)^2 + (n-2)
ここに私のコードだ、
public static int fibonacci(int first, int second, int n){
int[] memo = new int[n + 1];
for(int i=0; i<= n; i++){
memo[i] = -1;
}
return fibonacci(first, second, n, memo);
}
public static int fibonacci(int first, int second, int n, int[] memo){
if(n == first || n == second) return n;
if(memo[n] < 0) memo[n] = (int)Math.pow(fibonacci(first, second, n-1, memo), 2) + fibonacci(first, second, n-2, memo);
return memo[n];
}
私が上で、それをデバッグする数回試してみたが、問題がどこにあるかを見つけ出すように見えることはできません。このコードは次の数値を生成し、F(5)に対してF(6)を生成します。どんな助けもありがたい。 私はこの問題を対話的に解決できますが、それは私がやろうとしていることではありません。私はこのDP手法を使ってやりたいと思っています。
はあなたの問題が何であるかをより具体的には、あなたの質問を編集することができます。あなたが得るものと実際に得られるものの例を提供してください。 – buczek
より理解しやすいようにコードにいくつかのコメントを入れてください –