newest update Untitled Episode

663 Words
### **************************** `fib(n)`。******,**********: 1. ********:**************。**,** `fib(5)` *,`fib(3)` * `fib(2)` ******,******。 2. *************:******** `n <= 2` ***,***** `n < 0` ***。******,***********。 3. **********:***** `n`,********* Python *********,** `RecursionError`。 ### *******. *******(Memoization)**:*****************,******,****。 2. **********:*** `n < 0` ***,**************。 3. ************:******,**************。*****************,********。 ### ********#### ***:*******```python def fib(n, memo={}): if n < 0: raise ValueError("Input must be a non-negative integer") if n <= 2: return 1 if n in memo: return memo[n] memo[n] = fib(n-1, memo) + fib(n-2, memo) return memo[n] ``` #### ***:*****```python def fib(n): if n < 0: raise ValueError("Input must be a non-negative integer") if n <= 2: return 1 a, b = 1, 1 for _ in range(3, n+1): a, b = b, a + b return b ``` ### *****. *********: - ****** `memo` ****************。 - ********,*** `memo` ********,********,******。 - *** `n < 0` ***,** `ValueError`。 2. *******: - ****** `a` * `b` *************。 - ***** `3` * `n` *********,*******,*****。 - ***** `n < 0` ***,** `ValueError`。 *************,***********。******************,******************。
Free reading for new users
Scan code to download app
Facebookexpand_more
  • author-avatar
    Writer
  • chap_listContents
  • likeADD