この解答例はChatGPTによって生成されています,正しいかは自己判断で。 皆の投稿からも解答例が見つかるかもしれませんよ。
BFE.devでのAI解答例 - JavaScript コーディング問題
86. Fibonacci数を返す
回答
以下は時間複雑性O(n)、空間複雑性O(1)の実装例です。
function fib(n) { if (n < 1) return 0; let a = 0; let b = 1; for (let i = 2; i <= n; i++) { const sum = a + b; a = b; b = sum; } return b;}
最初の二つの数字が0と1であるため、nが0または1の場合はそれぞれ0と1を返します。
それ以外の場合はforループを使用し、最後の二つの数字を足して新しい数字を生成する処理をn回繰り返します。この方法により、n番目のFibonacci数を取得できます。
時間複雑性はO(n)であるため、nが増加するにつれて処理時間が増加します。一方、空間複雑性はO(1)であるため、追加のメモリスペースを必要としません。