フィボナッチシリーズは0 1 1 2 3 5 8 ...などです。スワップ要素を使用して表示できますが、配列を使用して取得できます。私たちはここに複雑さが増加しているので、それは大きな数のスタックのための問題を発生さフィボナッチ数を見つける最良の方法
int fib(int n){
if(n<1)
return 1;
else
return fib(n-1)+fib(n-2);}
、それはそれのためのインタビューで再帰とメインロジックを使用して見つけるように頼まれました。では、ここで最適な方法は何ですか?
有効なJavaコードを投稿するか、タグを変更してください –
@LuisMuñozこのコードは、私のJavaプログラムのメソッドです。 javaに関してそのメソッドで無効なものは何ですか? –
コードを大量に実行できるようにする標準的な方法は、Javaで実装するのには簡単なmemoization(https://en.wikipedia.org/wiki/Memoization)を使用することです。しかし、フィボナッチ数は非常に速く大きくなるので、int型が持つことができる問題にすばやくぶつかります。したがって、おそらく大きな整数に切り替えるべきです。別の考え方は、再帰ヘルパー関数が2つの連続したフィボナッチ数の* pairs *を返すようにすることです - これは主要な問題である二重再帰を排除します。 –